There are varying degrees of functionality. At the minimum, the server should go down only in the most extreme circumstances and include the ability to reestablish lost connections. In addition, an application server should ideally support automatic restart, include a failover mechanism, and maintain state information. This last serves a different purpose than load balancing, but the idea is the same. The product should grant a high degree of connectivity with existing data sources.
Price also matters.
Some of these products are expensive but deliver the features that high-end corporate developers need and are therefore worth the investment. Others are less expensive, yet adequate for most situations. Operating system platforms will obviously be important to some. ForeSite's development tools are Spartan but get the job done. A purely graphical design environment made Fresco easy to use but limited on what it could do.