Session beans are designed for transient, short-lived operations that don't need to survive crashes. They process business logic that can be restarted if lost. Persistence between program invocations requires entity beans or database storage. Database transactions can be initiated from various components, not just session beans.