Let's talk cover art. Yep. Cover art. If you go through a mainstream publisher, they'll probably have artists they work with who can provide cover art. Great. However, there's always the problem that the artist may, even after reading the book, not have a clue about your story.
You could ask amongst your friends, family and neighbors if any of them can create artwork. Or you can go to a local college and ask the art department if they will allow students to do cover art as a 'class project'.
And then there's DIY, Do It Yourself. If you're anything like me, you've always felt rather graphically challenged. Photographs? Fine. Writing. No problem. Drawing? Painting? AAAAAAAUUUUUUGGGGGHHHHH! The pain! The pain! (Okay, maybe you're not quite as untalented as I am.)
However, doing your own cover isn't as hard as you might think. Get yourself a good graphics package and practice. Here you have two ways to go. Pixel (raster) or Vector. Pixel graphics packages work by creating individual pixels in the canvas area. Each line, each curve is lovingly created by placing individual pixels in their assigned positions. This is great for 'photorealism', but scaling the image larger or smaller may cause the lines and shapes to get the 'jaggies', those annoying jagged edges, as the image is resized. Vector packages, on the other hand, don't do pixels. They work with lines, vertices, edges, curves and fills. Any shape is just a list of points with the associated line/edge modifiers, such as does the line curve between the two points/vertices and what relative thickness and color will the line have. As all this information is stored relative to the dimensions of the final image, the image can be scaled up and down with little or no distortion or 'jaggies'. However, it's a lot harder to get photorealistic images; in some of the applications, it's damned near impossible to just place a single pixel of a specific color into the image.
For pixel/raster cover art, I recommend Adobe Photoshop CS2. However, that may be a steep price for you. Of the cheap commercial applications, you might want to consider Serif PhotoPlus. And then there's GIMP. GIMP is a *FREE*, Open Source raster/pixel graphics application which does a smashing job - although it has few tools for manipulating CMYK (Cyan, Magenta, Yellow, Black) mode color images.
For vector cover art, I recommend Adobe Illustrator CS2 - you can buy Illustrator and Photoshop bundled as part of Adobe Creative Suite 2, but it isn't cheap. Again, one of the cheaper alternatives is Serif DrawPlus. And then there's the Open Source *FREEBIE*, Inkscape. Don't be put off by the 0.45 version number. This is a great vector graphics art package. And there is a version for Windows which is packaged as a Windows Installer app. No need to figure out which software libraries you need to download and install.
I've included two pieces of cover art I've created using Photoshop with this post. I use the Homebrew cover as an inspiration piece for my current NaNoWriMo entry. The other, I did for a friend's book, "Net Assets".