Well in simple words messaging broker software. A broker which is responsible to deliver your data to end client.
In advance, rabbitMQ supports provide support to many different messaging protocols as plugins and allows you to communicate between two different clients. three major protocols it supports are below:
AMQP(Advanced Message Queuing Protocol) - You can use this protocol to send messages from one server to another server.
MQTT(Message Queuing Telemetry Transport) - Protocol is for transfer data to IOT devices.
STOMP(Simple (or Streaming) Text Oriented Message Protocol) - protocol provide some unique combination. it can be used as web socket and can directly listen to the data coming from different protocols as AMQP and STOMP.
So you can say rabbitMQ provide support to many different message transfer solution. all you need to do is install the rabbitMQ server once and simply enable different plugins according to your need.