Reid Hoffman (LinkedIn (product) founder) has a great quote: “If you are not embarrassed by the first version of your product, you’ve launched too late.”

There’s also a quote by George Lucas (director, producer) (paraphrasing others who have made similar observations) that says, “Movies are never finished, only abandoned.”  I’d say the same goes for software.

Your product will never be “ready” or “done” or “perfect.”  It needs to work, obviously. But there will always be incremental improvements, new technologies, unexpected problems, competitive challenges, and other excuses to keep working on it.

What’s most important is to get your product out there, get users interacting with it, and then let their needs drive your further development. Otherwise, you could lose months building features that nobody wants.