Kafka stands out for its ability to handle high throughput and provide scalability, fault tolerance, and message retention. These features make Kafka ideal for a notification system where reliability and real-time processing are crucial.
Kafka can not push notifications to consumers. Consumers have to keep polling/consuming messages in order to receive them. This is the only way messages stored in Kafka can flow to consumers. The Consumer Design section in the Apache Kafka documentation explains why "consumer pulling" was choosed over "broker pushing".