A message queue facilitates asynchronous communication between applications or services, acting as a buffer for messages. It decouples the sender from the receiver, enhancing system Scalability and reliability by ensuring messages are stored until processed. This pattern is crucial in modern Distributed System architectures, allowing for flexible and resilient data exchange.