As opposed to the time required to implement, debug, and support a custom solution?
Simple code with "obviously no bugs" vs complex code with "no obvious bugs".
This is one of our biggest headaches, and it's not even that a Kafka server itself is so configurable. We have hundreds of teams writing client applications, and jumping on bridges because Kafka clients have poor configurations is getting old. Too many knobs to twiddle, but I guess that's what happens if you're expecting to be able to tweak for high performance.