Kuro5hin has an article detailing the 6 most common mistakes (that can’t be all) that new indie developers make. Read up! Imagine if all the energy spent going into huge vaporware projects went into manageable, fun little games.
We’d… have a lot of fun little games to play all the time!
From my experience, finishing a game is it’s own separate “thing” to learn, aside from programming, graphics, sound, design, etc. Because inevitably with any project you get better and by the end, the work you’ve already done you could do better. Fight that urge to start over… bite your tongue and finish it up – touch up earlier work if you have to. But FINISH. Because even if it’s not perfect to you, a full release will inevitably win you some fans and give you confidence to complete your next project (and possibly offers of help). Just my two bits!