I'll call this technique the Gmail Launch, since it's based on what Gmail did. Gmail is probably one of the biggest Web 2.0 success stories, so there's an argument in its favor right there. Here's how it works:
1.
Have users from day one. Obviously at the very beginning it'll just be yourself and your co-workers, but as soon as you have something that you don't cringe while using, you give it to your friends and family. Keep improving it based on their feedback and once you have something that's tolerable, let them invite their friends to use it too.
2.
Try to get lots of feedback from these new invitees, figuring out what doesn't make sense, what needs to be fixed, and what things don't work on their bizarre use case combination. Once these are all straightened out, and they're using it happily, you let them invite their friends. Repeat until things get big enough that you need to...
3.
Automate the process, giving everyone some invite codes to share. By requiring codes, you protect against a premature slashdotting and force your users to think carefully about who actually would want to use it (getting them to do your marketing for you). Plus, you make everyone feel special for using your product. (You can also start (slowly!) sending invite codes to any email lists you might have.)
4.
Iterate: give out invite codes, fix bugs, make sure things are stable. Stay in this phase until the number of users you're willing to invite is about the same as the number you expect will initially sign up if you make the site public. For Gmail, this was a long time, since a lot of people who wanted invites. You can probably safely do it sooner.
5.
Take off the invite code requirement, so that people can use the product just by visiting its front page. Soon enough, random people will come across it from Google or various blogs and become real users.
6.
If all this works -- if random people are actually happy with your product and you're ready to grow even larger -- then you can start building buzz and getting press and blog attention. The best way to do this is to have some kind of news hook -- some gimmick or controversial thing that everyone will want to talk about. (With reddit, the big thing was that we switched from Lisp to Python, which was discussed endlessly in the Lisp and Python communities and gave us our first big userbase.)
7.
Start marketing. Once you start using up all the growth you can get my word-of-mouth (and this can take a while -- Google is only getting to this stage now), you can start doing advertising and other marketing-type things to provide the next big boost in growth.