You can buy G codes for lots of projects, mainly wood carvings and such, but sometimes you can find someone who made something really cool and willing to share or sell you the G code... Then it's your responsibility to make sure your machine is calibrated exactly the same way their machine is or you can risk ruining your project or severely damaging your machine so that's where a dry run is recommended. I always set my zero setting about an inch above the bed when I do a dry run and have a finger on the stop button... It's happened to me once before and I got a hole in the machine bed as well as a bent spindle shaft to remind me to dry run everytime first...
Now when I make up my own stuff I do it with my machine settings in mind so the dry run isn't so critical but I still use a piece of scrap wood on the bed then the material I'm working with so when I do need to cut all the way thru it cuts into the sacrificial material underneith. Plywood works great here or you can use plexiglass if more precision is needed.
I use Mach3 to run the machine and it's a really good program then for the G codes I chose Cut2D for the simple stuff and Photo V carve for transforming my artwork into g code since it can transform a photo into a 3D carving really accurately, it can also transform artwork like airbrush paintings or even pencil drawings into a code that can be made into 3d by setting the depth of the cut, the other cool part is that the programs can import code from eachother to make even more complex pieces. I think I got around $400 or so invested in art software alone to convert paintings, drawings, or photos into usable code, then another $300 or so invested in the Mach3 software and plug ins to make my process almost as easy as draw it, scan it, cut it. I've also scanned the head, base, intake, exhaust, and case cover gaskets and converted them to G code so they can be cut out of gasket papers, copper, or aluminum, and have made some copper exhaust gaskets successfully before the copper got too hard for the bit to cut without chattering and breaking... Still working that process, but did some aluminum spacers and made a safety wire drilling jig out of acrylic, it works pretty good, but wears out quickly, but one made from aluminum or brass would hold up nicely by cutting out the hex for the bolt head or nut then inserting a steel tube to guide the drill bit.
I've also made some really nice wood carvings out of pictures of some of our birds by taking out the background and processing the picture into a 3D model so the carving is about 1/4" thick a well as doing the same with some of my airbrush art like skull clusters etc cut into pinewood for practice, and I've also made my wife a really cool desktop nameplaque with her name in the middle and 3D roses on each side... I made the practice run on pinewood and she loves it but she wants a better one carved into eucalyptus wood since it has a really cool pattern similar to quilted maple. I've also done some roses into acrylic tile samples that she keeps on her desk at work and the people in her office have all kinds of stuff they want me to make for them as well.
When I get the CNC set up at the shop I can use it to make 3D logos for the local car clubs and other Hot Rod type art that I can hang on the walls in the office with a price tag if anyone wants to buy the stuff. I also plan on making stuff I can sell on ebay or craigslist and offer to do custom carvings by digitizing a customer's artwork or designs.
There's also a lot of software out there that can convert 3d models from AutoCad as well as DXF files into G code so the possibilities are endless with the only limit being the size of the piece that can be cut.