O pessoal fala “Só se você precisar de tudo que EJB tem a te oferecer”. O fato é, EJB te oferece tão pouco que acho meio pífio esse argumento.
Entity Beans, por exemplo, são tão ruins de serem usados que qualquer ferramenta de ORM é mais funcional, sem perda de performance ou escalabilidade.
Session Beans, os statefull podem muito bem ser representados como atributos na session da camada web, os stateless como managed beans do teu framework de IoC predileto. Os serviços de CMT e segurança o springframework faz com uma salada de xml diferente apenas.
Message Driven Beans, é a parte legal do EJB, que vale a pena ser usada e não tem equivalente funcional a disposição.
Quanto a escalibidade dos containers EJB, isso você consegue usando load-balancing dos servlet containers e session replication. Fato é, sem um bom software de caching, não tem como conseguir escalilidade vertical ou horizontal.
Moral da historia, você pode ter tudo que EJB te oferece e não precisa se matar com o seu modelo mala de desenvolvimento.