I did a CAM program survey over at CNCCookbook that got a couple hundred responses:
The Results are in on the CAM Package Survey « CNCCookbook
Results are broken out for both pro and hobby priced packages. Some of the hobby packages are pretty powerful, so it's more about price in that case.
RE tool geometry, it's all over the map. Some programs have you go through a data entry screen that specifies various parts of the tool. Some allow you to enter a DXF line that is then spun (lathe extrusion) to create a 3D model. Some use a little proprietary language of some kind. Some let you just import a 3D model.
This is a hard problem because there is little or no standardization. I know because I've been out looking as I need tool geometry for my g-code editor.