In a nutshell...
I use a Melzi board on the printer to control the printer. This is running some firmware called "Marlin"
I use pronterface to speak from the PC to the printer.
I use sketchup or openscad to design things, or I download them from www.thingiverse
I use slic3r for slicing.
1. Make or download a design
2. Slice this into a G Code file on your computer
3. Move this file onto an SD Card on the printer
4. Use Pronterface to control the printer and tell it what to print
5. The printer uses Marlin to read the file on the SD card and print the object
Hope this helps a bit. It's confusing when you start, but is infact surprisingly easy when done step by step.
By the way, you don't *have* to pay for any of that software. That's the truly amazing bit.