There are some criteria that support the idea of early promotion:
- Your product naturally has a short shelf life, and its revenue will die quickly. Then, you need to make revenue fast and early promotion helps you doing so.
- Your product's main benefit is an experience quality and can only be verified by the buyer after purchase. Then, you may need more social proof then usual. Early promotion helps you getting social proof.
- Your product's main benefit is basically due to positive network effects. You need to overcome the bootstrapping problem and early promotion helps you doing that.
For example, a new movie has a natural shelf life. After its launch, many other new movies will be released and may affect the movie's revenue. Also, it's entertainment factor is impossible to judge before purchase. It's an experience quality and thus needs more social proof then usual.
For movies, it's thus rational to spend large amounts of money on early promotion.
However, for software startups, early promotion is usually inexpensive, due to means such as blogging, social media, etc. Thus, early promotion is usually a good thing. The amount of "finish" of your product is also not a problem. People got used to beta labels.
Another nice side effect happens when you combine early promotion with (artifical) scarcity; for example, by using invitation codes. People crave scarce products that everybody (in their social circle) talks about.
This allows you to control the amount of beta testers, increases your chances of getting feedback, and prevents making truely expensive mistakes such as developing features nobody wants.
Overall, early promotion increases your chances of success.
Hope that helps.