I would say the major limitation of open source solutions is that they are not appropriate for clustered server environments and they don't scale well. For example
Tomcat does not support transaction failover in a clustered environment and cannot load balance between servers(i.e it's not possible to deploy one instance of Tomcat across multiple servers). It's suitable for development environments or non critical applications where the system owners are not concerned with 24*7 availability or scalability. That excludes most corporates.
Most of the proprietary software development tools are tightly integrated with the application server e.g WSAD/WebSphere, AppDev Studio/SAS). Most corporates will opt for a tightly integrated package to improve developer productivity. For example they are unlikely to choose JBuilder/WebSphere over WSAD/WebSphere. Of course it's possible build applications using Eclipse/Ant and then deploy to WebSphere but it's a lot harder.