Scalability is big. Session beans also provide transaction management especially if they interact with a database.
The rule of thumb is that if a database or other persistence storage is involved, use a session bean since it gives you transactional control. If you're calling a static-like method for performing some mathematical calculation then you'd want to avoid the session bean and just a regular method call.
What it really comes down to is this: Is the method providing a service or a utility function? [ August 19, 2008: Message edited by: Scott Selikoff ]