The main advantage of Kafka is that you can:
1. Write a shitload of data to it fast
2. Experience a cluster failure or degradation with low risk of data loss
3. Retain absolute ordering, with caveats, if you're careful.
4. Run large numbers of concurrent consumers without imposing significant overhead on the cluster
That's pretty much it. I've made a good career the last few years out of Kafka, but there are _so_ many companies using it that don't need it, and what strikes me as passing odd is when I've been consulting on their Kafka adoption and tell them that, they don't want to hear it.
Which is really weird IMO because I stand to make far more money by encouraging them to use it unnecessarily because...
...Kafka is a complex solution to a complicated problem, and often people using it don't have the sheer scale of data that would necessitate taking on that complexity.
> In 2009, I was processing a TB per month of 837 claims on even worse hardware.
Kafka starts to shine when you're creating X TiB of data a day, and would like not to lose it.
It's best mentally modelled as a series of rather resilient tubes, that way people can stop thinking it's just a super duper scalable message queue, and they can just drop it in as a black box and get all the semantics they're used to from ActiveMQ / RabbitMQ etc.
Even Pulsar, which tries to emulate MQ semantics, isn't a drop-in replacement, at all. And it has even more moving parts than Kafka.