Tracy, great to hear you have chosen to learn about CNC and machining. I've been doing it for about thriteen years now.
In my opinion, the real advantage to a CNC is the repeatability and the time saving. I bought my Tormach machine for one reason..to save time. I have been a hobbyist knifemaker for about eight years now, and I have produced some very nice stuff, but I cannot find the time to do it while working a job 65+ hours a week. I also have two little girls, I'm a training officer at my local vol fire dept, and have countless other projects going on. Finding time for knives is frustrating.
With CNC, I can finally start to prove out programs and processes, and let the machine do most of the grunt work. Then, I can spend minimal time doing cleanup and final finishing. I'm looking forward to heading into making knives for sale, and I hope to have a table at Blade in ATL next year.
As far as CAD and CAM, I learned in Mastercam. I am a programmer for a living, so I use Mastercam at work. I also have learned AutoCAD and Solidworks as well. Solidworks is pretty awesome, but I cannot produce code from it. Engineering uses it at my work and I got hooked up with a seat of it. Unfortunately, the other day I found out that they are taking my seat and giving it to a new hire. I hate I will no longer have it, and I hope I can find something similar for solid modeling because it really helps visualize things.
We also have GibbsCam at work, which is another very expensive CAM program. I have never looked into any of the free or cheaper ones, but I may have to if I ever leave my place of employment, because most are very expensive and most normal Joes like us just can't afford them unless we run a machine shop or big business.
Tracy, one piece of advice I can offer is this, and you can take it to the bank. When you start to learn CNC, make an effort to learn code and how to write it by hand. Don't spoil yourself with post processors from CAM software right of the bat. I can't count how many people I know that depend on CAM software and its post processor to drive their CNC, and never learned about code from the get-go. Once code is produced, they don't even know what it says, and therefore they cannot edit, or understand the problem when something is not right.
I wrote programs by hand and learned code for a solid year before I was ever able to touch a CAM program. This was one of the most valuable things I ever experienced in tech school.
CAM and post processors are absolutely necessary on large complex parts with miles and miles of code, but if you don't know how that code is produced and what it means when you load it into the machine, you are crippled. TRUST ME.