The process of printing or cutting something using either a 3D printer or CNC router require almost opposite techniques, but the software process is remarkably similar. When it comes down to the act of producing the object, it is just additive or subtractive. However, to get to that point, you are going to go through a couple stages.
Design/modelling
This is your CAD or computer aided design stage. This is where you draw your thing. You can do this stage in a huge variety of software, from the $4000USD Autocad to the free OpenSCAD.
Machining/cutting/printing
This is the CAM or Computer aided machining stage. This is where your computer tells your printer/router how to make your thing. You have a lot of options here too. Some tools, like the Makerbot provide software for printing. For others you will need to provide software. A popular choice among desktop CNC fans is Mach III by Artsoft. LinuxCNC is supposed to be a free and open source replacement. (no personal experience)
http://cnc4free.org/
a better description than what I wrote is in this shopsmith article.
http://www.shopsmith.net/forums/showthread.htm?t=5830&page=1
steppers and powersupplies at http://www.interinar.com/power-supplies.html
Machine Control
EMC2 -- A Free, Open-source fork of the product line that currently includes EMC3.