This page provides some basic information on STL files and some additional resources. The STL is actually an amazing file format that has lasted over 30 years all the while it was has not gotten the respect that it deserves.
3D Systems chartered to have the file format developed in the late '80's to be a common file format for additive manufacturing systems. The file format that was provided, STL, was both simple yet powerful.
An STL file is just a list of coordinates for triangles that represent the surface of a part. The CAD file is processed to mesh the surface and output a file that list the xyz of each point of the triangle and a vector (facet normal) indicating the outside direction.
facet normal ni nj nk
outer loop
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
endloop
endfacet
The hard part in the early days is that the CAD programs made horrible STL files that would create very tessellated surfaces. As 3D printing evolved in the '90's, the CAD programs got better. The old adage that Garbage In, Garbage Out is very true in 3D Printing and the STL is the first critical component.
My first major research for the STL file was how to calculate the volume of a file, which represented the geometry of the part. This turned into a sophisticated math problem that as challenging and powerful. If you are a math geek, I encourage you to write some code to calculate the volume of an STL file.
For more information, check out:
http://www.quickparts.com/LearningCenter/WhatIsAnSTLFile.aspx
http://en.wikipedia.org/wiki/STL_(file_format))