Stateful session beans are often illustrated by implementing a shopping cart. Coming from outside Java EE, my inclination would be to handle this kind of state with a persistent model entity: a ShoppingCart object with Products and quantities. This way, my state is being maintained by the database along with all my other state rather than by the application server.
What are the technical advantages to stateful session bean design over "ordinary" persistence? Are shopping carts in Java EE-based web applications indeed usually written with SFSBs, or as in other systems just by more elaborate domain modeling?