I wonder which tools use people making real things with CNC machines. I assume that there's some specific, not really friendly file format which cannot be edited in some 3dMax or Blender, so some conversion is performed before, but, anyway, there must be some more or less standard workflow, I suppose.
It's been 20 years since I wrote any CNC controller software but the "assembly language" of CNC then was g-code (http://en.wikipedia.org/wiki/G-code).
In the end it really doesn't matter how your CAM software stores its data as long as you can translate it to g-code within the software or with a 3rd party compiler. The fun part for me back then was optimizing that translation with respect to the machine's capabilities so you can do things like minimize machining time while maximizing tool life and keeping surface roughness within tolerances.
You usually generate a "toolpath" which is a set of instructions for the machine to follow. For old MakerBots this was .gcode (http://en.wikipedia.org/wiki/G-code) which is the exact instructions to control the toolhead. It's a standard insomuch as XML is a standard, that is, format but not content is standardized.
The pros use something like SolidWorks and STEP or IGES to export to CAM.
STL is really bad for 3D printing IMO. It's just a bag of triangles - there's absolutely nothing tying those faces together, and it's thus a constant battle with floating point precision to make sure there's no 'holes' in models, so they can be effectively sliced.