If you are just wanting to do 2.5D stuff then GSimple is FREE.
I use it to produce quite complex parts for radio control cars. It does most things, including thread milling, although I have to wrestle with the G-Code to make use of the thread mills that I have.
It does not work with 3D modelling software. For complex shapes, I have to draw my cutter paths in 2D and import them as .dxf files. I then let GSimple create an engraving path, which I then extrude in Z by doing multiple copy and paste on the text file.
But for hobby work it does the trick.