Steve Pavlina has written an excellent article about why some shareware authors succeed where others fail. This article actually applies in a much broader sense than just shareware. Here’s a choice bit:
There are three good reasons why experienced professional shareware developers are often able to release more consistent hits than less experienced amateurs. First, the pros have already plugged many of the holes in their system that are shared by all products, such as optimizing their web sites to sell, refining the ordering process, implementing a money-back guarantee, crafting a solid marketing plan, gaining excellent search engine placement, etc. So when a new product is released, it inherits the benefits of prior system-wide optimization work. Secondly, the pros can apply the wisdom gained from refining each previous product to any new release, so when they release a new product, they’ve already eliminated all the obvious sale-killers that still plague amateur developers. And thirdly, the pros have already internalized the attitude that the first release is just the beginning; thus, they expect to continue to refine the product and immediately start listening to user feedback to help them locate new holes that need to be plugged.
Having a successful product involves a lot more than just the product itself. Having a market for that product, and a plan to market it is important. Many of these factors also apply to open source projects. Even though many people seem to be annoyed at Marc Fleury’s bluster, I bet JBoss wouldn’t be nearly as successful if it weren’t for the constant marketing and improvements that they do. New Jakarta projects have an advantage over other open source projects, because Jakarta automatically brings in a lot of attention. But, that’s because Jakarta has been turning out useful products for a long time.