There are various advantages and disadvantages of Kafka.
Advantages
High throughput
Kafka can handle a greater number of messages with high volume and high velocity. Also, Kafka can support message throughput of thousands of messages in second.
Fault Tolerance
Kafka is capable of handling node failure in the cluster without losing the data.
Low Latency
Kafka has the capability to handle the messages with low latency that means it can handle the messages in milliseconds.
Scalability
Kafka is capable to add additional nodes without downtime. Kafka can scale-out horizontally.
Durability
Kafka brokers can store the messages/data on disk. Never lost the data/messages since it has the data replication across the cluster.
Distributed System
Kafka is a distributed system which has two capabilities such as partitions and replication factor. It can scale-out horizontally.
Real-time Handling
Kafka can create real-time data pipeline using processing systems, analytics, and storage.
Batch Handling Capability
Kafka can do batch-like (ETL) jobs since it has persistence capability.
Disadvantages
Kafka does not have complete set of monitoring tools
Kafka does not have wild card topic selection.
Brokers and consumer pattern reduce the performance.