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.
Kafka was only introduced to our platform in August 2018 as a means to manage our data pipeline and to replace other messaging systems used to decouple various components in our system. Kafka provides the scale and storage we need to manage data for however many devices we might service. Additionally, Kafka has helped us lay the framework for improved and highly detailed statistics gathering and analysis.