Confundido en cuanto a cuándo usaría JMS (o una cola en general) frente a una base de datos

Cuando almacena un mensaje en una cola, ¿no es más información de metadatos para que quien saque de la cola sepa cómo procesar los datos? La información real en la cola no siempre contiene toda la información.

Digamos que tienes una aplicación como Twitter, cada vez que alguien publica un mensaje, ¿todavía deberías almacenar el texto real del mensaje en la base de datos, correcto?

La cola se usaría más para transmitir a otros suscriptores que un nuevo mensaje ha llegado, y luego esos servicios podrían tomar medidas adicionales.

¿O podría realmente almacenar el texto del tweet en la cola también? (¿O PODRÍAS, pero eso sería una tontería?)

¿Podría un mensaje de cola tener campos de estado, que los suscriptores pueden cambiar a medida que procesan su parte del flujo de trabajo? (o harías eso en la db?)

Solo estoy tratando de obtener una aclaración de cuándo utilizaría una cola frente a db.