The best place to go to find out how to build your own is cnczone.com. There is a forum there for DIY CNC routers.
http://www.cnczone.com/forums/diy-cn...able_machines/
The JGRO router is probably the simplest to build requiring only some basic wood working tools but it isn't the fastest or most ridgid machine out there. I took the basic design, scaled it up and added things like antibacklash nuts, ball bearings on the ACME leadscrews, a bunch of gussetts to stiffen up the gantry, and some larger pipe for the roller skate bearings to ride on. A friend and I built the machine over a weeks time between christmas and new years.
As for software I use Vectric Aspire to generate most of the G-code and tool paths and then use Mach 3 to actually run the stepper motors. There are less expensive products out there from Vectric such as Cut 2d if you are only interested in cutting out flat 2 dimensional objects. If you are into Linux there is also a bunch of free software out there. Take a look around on the cnczone.com forums as there are specific sub forums for all the different software packages there.
Keith