There are many systems(EAI domain) where middle-ware tools such as Tibco,IBM etc are heavily used.These vendors have their own JMS specification servers.
What advantages RabbitMQ has over these servers ?(Apart from AMQP over JMS!). These vendors also provide fail over,load balancing,fault tolerance etc .
As RabbitMQ is created in Erlang, will there be any advantage(performance etc) if all client applications also use Erlang ?
RabbitMQ is open-source and designed to be platform neutral. It's highly extensible so you can add plugins for various protocols such as STOMP or MQTT and there are even protocol level plugins like XMPP or SMTP in the ecosystem.
It supports many of the features you're referring to with clustering. I'd recommend you check out http://www.rabbitmq.com for more marketing information than I could provide here.
There are no performance advantages in using RabbitMQ with the Erlang client other than in using Erlang as a language and its VM. With RabbitMQ's goal of being platform neutral, performance is generally directly related to the performance of the language itself. For example, I would expect to see C or Java based clients perform better than Ruby ones.
What do you have in that there bucket? It wouldn't be a tiny ad by any chance ...