A message queue is a form of asynchronous service-to-service communication used in serverless and microservices architectures to decouple components and manage the flow of data between them. It allows messages to be stored in a queue until they are processed, ensuring reliable delivery and enabling scalability and fault tolerance in distributed systems.