There is plethora of use case, where Kafka fit into the real work application, however I listed below are the real work use case which is frequently using.
Metrics: Use for monitoring operation data, which can use for analysis or doing statistical operation on gather the data from distributed system
Log Aggregation solution: can be used across an organization to collect logs from multiple services, which consume by consumer services to perform the analytical operation.
Stream Processing: Kafka’s strong durability is also very useful in the context of stream processing.
Asynchronous communication: In microservices, keeping this huge system synchronous is not desirable, because it can render the entire application unresponsive. Also, it can defeat the whole purpose of dividing into microservices in the first place. Hence, having Kafka at that time makes the whole data flow easier. Because it is distributed, highly fault-tolerant and it has constant monitoring of broker nodes through services like Zookeeper. So, it makes it efficient to work.
Chat bots: Chat bots is one of the popular use cases when we require reliable messaging services for a smooth delivery.
Multi-tenant solution. Multi-tenancy is enabled by configuring which topics can produce or consume data. There are also operations support for quotas
Above are the use case where predominately require a Kafka framework, apart from that there are other cases which depends upon the requirement and design.