Stateful session bean will allow you to store the same state as an http session. Few advantages over using http session that I can think of:
- Scalability - Your SFSB can be deployed on another server and scale independently using remote interfaces
- Non-web clients - You can use SFSB to maintain state for a non-web client where http session will not be available
- The other benefits that come with using an EJB
To hold a reference to a stateful EJB in a servlet you should use @SessionScoped with @Inject as indicated in this answer