Emile Petrone put his startup up on HN "before it was ready" and learned some lessons:
Because I launched Housefed before it was ready, I addressed the problems I didn't know about. Had I launched when meal booking was fully finished, I would have been adding bugs ontop of bugs. Many of your initial assumptions are wrong. You won't know which ones until you get real users on your site. So my advice -
Launch your before you core functionality is done. You'll fix the bugs you don't know you have.
The point seems fair, but a distinction should be made between "launching" and "going public". Launches are formalities, PR events that are contrived to build up attention and draw traffic. In that context, "launching" before you're ready can be catastrophic.
On the other hand, getting some attention from very-early-adopters like the HN crowd when your product is still very basic can indeed help tremendously. There are some ideas which you may want to keep under wrap until they're ready, but the vast majority of web startup ideas are not in that category. If you think your idea needs to stay hidden until it's ready, and you're not a startup veteran with at least three successful startups under your belt, you're probably wrong.
Don't be shy to have a proper "launch" a year later when the product kicks ass, though. Having millions of users doesn't mean you can't launch!
If you read this far, you should follow me on twitter here.