I describe TDD, and practically every other software development technique as "neither necessary nor sufficient, but sometimes useful".
Zealotry of TDD or any other practice is often a consequence of Dunning-Kruger; a lack of awareness of how effective other techniques can be.
Daniel Terhorst-North https://dannorth.net/introducing-bdd/