Messaging has been continuously evolving in IT industry for last three decades. In 2003 network message protocol took shape as AMQP (Advance Message Queuing Protocol).
Suppose you are managing a retail chain like Big Bazaar. What you want whenever a sale happens at an outlet, this information should go instantly to your inventory manager who can check the re-order level and decide whether to replenish that item or not. A copy of that information should go to analytics team who can predict the consumer behaviour pattern. Another copy must go to accounts to tickle your sales and so on. You realize a plethora of messages flowing around. Basically you need a sort of 'Post Office' who can manage these messages and delivery them efficiently. RabbitMQ is that 'Post Office' software which acts as message broker and handles all message delivery related issues.
To understand the AMQP concepts and RabbitMQ, you can read the tutorial here.
RabbitMQ is wriiten in Erlang (a language designed for distributed systems). It is an open source software and is available of variety of platforms (linux, microsoft windows, Mac Os X and other UNIX flavours).