- To store messages for later retrieval
- To deliver messages to a single consumer
- To process messages in a specific order
- To fan out messages to multiple subscribers