Messaging queues or brokers are components used for inter-process communication
Queues have producers (writers) and consumers (readers)
Consumers can subscribe to producers
Producers send messages to consumers
Decoupling of consumers and producers
Scaleability - it is easy to add more consumers and producers
Buffering and load managerment - spikes can be dealt with more easily than real time. Spikes messages can simply be queued until the CPUs have played catch up and are ready to process new messages.
Resiliency - If your consumers go down they will still get the messages when they go back online. Compare this to a service which calls another service which calls another service which fails. Processing can be left in a messed up state.
Delivery Guarantees - this is similar to resilency. It means the messages will be delivered when the consumers come back online.
Order Guarantee - messages that has been longest in the queue can be processed first