IMHO their biggest competitors are the clouders themselves (with pubsub, SQS, etc..), MQTT, ZeroMQ, and the open source Kafka (which is surprisingly easy to setup).
For me, the best idea they had was the Kafka schema registry (https://www.confluent.io/product/confluent-platform/data-com...) : it's too easy to inject bytes into kafka, but for using that stuff you need to know the format (and no, dunping a JSON string is not a good subtitute for a schema). Instead of guessing, and pulling your hair when there are changes, they provide a way to insert the data with the correct types and format.
(disclaimer I don't have shares in confluent, nor interest in buying some)
That's possible. Or perhaps AWS MSK is eating some of their lunch; I hear it's pretty good.
> open source Kafka (which is surprisingly easy to setup)
I've found the hard part isn't day 1 (you do get there quite easily these days), but day 20 when something breaks in an unexpected way. Like when we shut down a cluster to fix issues with the underlying machines and one broker only kept its config, but not its data directory. When restarting the cluster, the one broker without data was the first to be online, since it didn't have to load tens of gb from disk. That lone broker made itself a cluster of one, discovered all our topics, made itself leader for all partitions of all topics ... and when the other brokers came online and joined the cluster, they discovered the no-data leader and promptly started to sync their state to the leader's by deleting the messages they still held, resulting in three empty brokers, 100% data loss. This was a wayy pre-production system and we were happy to break it in interesting ways, but the ease with which we got it into such a state really made us treat it with a lot of respect ever since (that wasn't the only such occurrence, either). Kafka is a very powerful piece of software and big deal for the use cases it's built for, but it has some very thorny parts, and if you can have someone run it for you, you probably should give that some thought.
(disclaimer: I work for Aiven, we also provide Apache Kafka as a service)