The biggest hurdle is awareness. You need to market the shit out of your product or else no amount of spit & polish will save you from obscurity and dismal sales.
Most devs and artists hate marketing, but it's actually THE most important part of your business. If people don't know about you, they can't buy from you.
Have you successfully marketed a game? If so, what were some things that you did to market it? I see games in magazines and websites, and usually it's the AAA companies that get easy marketing no matter what they do, but often times when a small guy gets popular, I'm left wondering how he was discovered when a million others weren't.
In the indie scene, doing well in a competition like Indiecade can provide a pretty big boost. That's mainly for a certain kind of game, though, more or less "one that other indie developers will find interesting". Some sort of innovative mechanic or new take on a genre is probably the most common route on that. If you do have that style of game, any other way of meeting other devs (forums, game jams, etc.) can also help spread the word; there are few things devs like more than talking about other cool games they recently heard about, and the more people who know about it, the more likely it is to get reviews / blogged about / etc.
That's another angle to go for directly, though; try to find some blogs covering areas where your game seems relevant, and see if they're interested in reviewing it.
I've failed at marketing 2 games, and then formed a company with other people, one of whom knows a few things about marketing.
The key is to do something that makes you stand out. For the big players, it's easy enough to do by throwing your weight around. For the small players, you have to look for a hack; something that nobody else is doing. Something crazy that makes people look up from their humdrum lives and take notice and say "hey, cool!".
Marketing is a continual task that never ends. Unless you manage to capture the mythical "virality" (which 99.9% of products don't), your sales will always be tied to your continued marketing effort.
Most devs and artists hate marketing, but it's actually THE most important part of your business. If people don't know about you, they can't buy from you.