It seems like the software development process is driven by developers :-). Fast booting, text-based configuration, IDE-integration and hot deployment - or better no deployment are key to developer acceptance in appserver market. Small footprint and modularization can be derived from the previous requirements. Nonetheless, the development phase ends with the delivery of your software to your customer - and so operations. Often developers choose "lightweight" application servers for development - and deployed to application servers maintained by the operations. The problem is: although with Java EE 5 there are no more problems with porting an application from one server to another, but the servers can still behave different. So there is always some fraction here.
The operators prefer application servers with good monitoring capabilities, easy visual administration (or easy console administration - it really depends on the company) - but just don't care about boot times, hot deployment etc. Glassfish is the first, server I know, that tries to satisfy developers as well as operations. And it is opensource on top... It is small enough to use it for your day to day job, and it can scale to an enterprise system. Furthermore - Glassfish comes with excellent monitoring capabilities, nice visual console - even the documentation is directly accessible from the admin console ...as PDF. This is what administrators like - but it is still possible to configure Glassfish using XML and command line interface.
By scaling, I do not only mean "throughput", but deploying EJB 3, WebBeans (Seam), JCA, JMS connectors etc. if needed as well. Also the acronyms sounds scary, it is really easy to access e.g. an SAP system via JCA (or JRA), or communicate with a mainframe via JMS. Btw. even really simple applications are easier to build with EJB 3, than without.
NEW: Online Workhop Effective WebApps without Frameworks is also coming to: MUC Airport.