if you need the functionality of the bean from more than one (web)application, SessionBeans are the better choise.
Or, if you want to use facilities provided by an ejb container.
For example, your ejb can live in a security context, or can get a DB connection through the EJB container's connection pool.
if we speak about efficiency, is more slowly a stateless?
if it's more slowly, how much??
Thanks for your response, this is very helpful for me.