For 2.5d, CamBam is free and has a very low learning curve. It claims 3d capabilities but I don't have any experience with that. Like coleastering said, you can do alot with 2.5d if your creative. My main method for getting geometry into the program was generating DXFs with solidworkds.
I used Mastercam some. Definitely a lot more overhead in figuring out how to use it properly, but it does seem like the de-facto standard, so I'm sure it turns out to be a very powerful tool in the long run.