There are many softwares out there to make graphics. I personally use Adobes Photoshop but that is my personal preference. You can use Adobe Illustrator, GIMP, Corel Photo-Paint or Paint.net to name just a few but what do you do once you have your image? You need to convert your image to an SVG file as most of these softwares do not allow you to save in that format.
Why does it have to be SVG you ask? This is the format you need to be able to import your image into Cricuts Design Space. You can import JPEG and PNG into Design Space and then clean it up but it can be very time consuming and the quality at the end of it is not always that good!
So I now have my design and want to convert it to an SVG File. Again there are many free softwares out there to do this for you but I use Convertio. You could use svgcreator.com, pngtosvg.com or onlineconvertfree to name but a few. If you use a google search you will turn up plenty of choices.
I personally use the paid version of Convertio as it gives me limitless conversions and the conversions are of a slightly better quality. The joy of convertio is that it can also convert between lots of other graphic formats for you so its a nice tool to have in your design arsenal.
Now that you have an idea of what tools you need, why not start designing for yourself instead of buying SVG files?