As far as I know, there are two recognized way to launch Software:
Hollywood launch 1) Teaser
2) Preview
3) Launch
Gmail Approach 1) Few invites
2) Beta
3) Buzz and Marketing
4) Public
From your experience, what's the most effective approach to launch a Software avoiding the "empty restaurant syndrome " or the website flooded and doomed on launch day?
The more popular way these days is the Gmail approach.
The main benefit of this is to be able to get your beta out and get good feedback and improve your product before you public launch while still generating buzz. It also allows a user community to be built up and in place when you launch as well, which is critical for software these days.
Pick the route that is sustainable long term, mix the two concepts I would argue that the GMail approach is more sustainable. Their 'invite a friend' tool and the fact that beta-trials tend to be quite 'exclusive' gives momentum to their signup ... I remember itching for a GoogleWave beta account for ages!
Overall, you have to look at your core competencies. Would scaling be a challenge? Where will things go wrong? controlled and sustainable growth in uptake during beta will give you space to tackle any problems but produce a constant growth, through your beta community until a non-beta launch and later critical mass.
A combination of the two can work well, think a "we are out of beta" party. Use your beta users as advocates to ensure word-of-mouth signups. You aren't Google, so getting the "exclusivity" part of a beta signup will be difficult; An alternative is to make beta users ambassadors for your site and allow them to recruit other beta users where space is (artificially?) limited. Think:
"Hi, Dave has invited you to be a beta user for http://somesite.com. We don't allow many people to test, but Alan thinks you can help us out!"
Give beta users additional tools, their own forum and other perks that normal users will not get. Above all, beta users can give you alot of value through testing now and advocacy later. Treat them right and you may have a small army of fanatics to help keep the signup rate rising.
I believe it all depends on the software. If you need Beta testers, go the GMail approach. If you have tested the software and feel confident about it, start the Hollywood approach (but don't "go live" until you have enough people interested).
I have never found a "one-size-fits-all" approach to product launch.
EDIT: The more I think about this, the more I believe this is a loaded question. There are WAY to many things to consider.
It all depends on the situation.
It depends on your applications target market and how much money you have. 'Gmail' can be (but doesn't have to be cheaper) but would probably attract more customers who are on smaller businesses and individuals who are tech/social savvy. 'Hollywood' wold require more initial investment but would probably attract larger businesses and less social/tech savvy individuals