Funny you mention that, because Kafka consumers actually pull messages.
What is the reason for using Kafka then, sorry if I'm missing something fundamental.
A Kafka consumer does a lot of work coordinating distributed clients in a group, managing the current offset, balancing the readers across partitions, etc which is native broker functionality. Saying you can replace it all with a simple JDBC client or something isn't true (if you need that stuff!)
Not by busy waiting in a loop on a database query though.
But yeah, for a lot of implementations you don't need streaming. But for pull based apps you design your architecture differently, some things are a lot easier than it is with DB, some things are harder.