Another good reason to use HttpSession is that when a session is invalidated, you can do a cleanup in the valueUnbound() method should you have implemented the HttpSessionBindingListener interface.
Back to session beans: the big benefit of SLSBs is performance as they are pooled on server startup (and reused after the
EJB method calls end), whereas SFSBs are created on client demand and are destroyed after use.