Серверы приложений Java EE предоставляют все функции tomcat, поэтому зачем использовать tomcat (вместо стеклянной рыбы, например, как официальную)?
В особенности, когда нужны функции Java EE, такие как JPA, JAX-RS, JSF и, следовательно, больше всего пакетов необходимо упаковывать вместе с приложением, а сервер приложений, совместимый с EE, предоставил бы это из коробки?