I use ActiveMQ because it works and supports protocols such as MQTT for IoT. I evaluated Kafka and Active MQ for an application in Windows servers and found Kafka to have some issues with recovering missed messages. I did not evaluate RabbitMQ but I am biased towards Apache projects.