There are literally loads of free or cheap software programs to do it, cnczone.com has a good section on it. The biggest problem i think is that there are just too many choices, its a bit like open source in that it gets really fragmented coz everyone does it slightly different. Mach seems the popular choice, coppercam is useful too, altiums gerber viewer is great for checking gerbers too.
Depending on what you want to do, there are a lot of options, you can do a complete home reasonably cheaply, then it steps up fast, to the $3,000-$5,000 for a good machine, then the simpler dedicated commerical machines are about $8K -$14K, after that with the tool changers and stuff you're at $20K.
I went a bit nuts (ok a lot nuts) due to a monopoly style 'banking error in your favour' card and went with a mid range machine. I looked at the t-tech's and accuratecnc's and went with the later.
It cut this
http://www.goth.am/A360/A360_Test1.png http://www.goth.am/A360/A360_Test2.png I've yet to cut anything that detailed (the company cut it as a demo for me), i've done a few double sided boards with via's, drills and cutouts on it, it'll do 8mil traces no problem.
Vias i'm playing around with, but LPKF has an interesting conductive epoxy that looks like it'll handle what i need, the older style tube and pin way of doing vias is impossible to get hold of these days,or at least i've yet to find anything still made, most people are just sending out to places like batchpcb/expresspsb, but i like that i can design something in the morning and use it in the afternoon, plus its just pure geek out and i've always hankered after one, after Joe Grand bought his , that was it for me. A company i did some work for had forgotten a payment owed to me for many months, and so had i, so easy come, easy go!
Its amazing what some people cut on the machines they build at home, you can get some really good results, just have to pick the right spindle/router setup, the wolfgangs seem popular.