Ramandeep Kaur explains what Apache Kafka uses Apache Zookeeper to do:
ZooKeeper allows developers to focus on the core application logic, and it implements various protocols on the cluster so that the applications need not implement them on their own. These services are used in some form or another by distributed applications.
Ramandeep hits on KIP-500 at the end of her post as well.