EJB (as part of the j2ee architecture) are specifically designed
for highly scalable, transactional, secure multitier-applications.

Only arguments I could see against EJB are cost of time and money...

I recommend looking at suns j2ee blueprint:
http://java.sun.com/j2ee/blueprints/