I can't help but think you've never experienced traditional waterfall, possibly because you're young or junior. We used to build all software under waterfall and, well, it sucked. We tried to specify and design it all up front and test it at the end, and guess what, we planned out something that nobody wanted and when we'd built it, it didn't work anyway, so we had to go back to the beginning and it was hugely expensive.
Waterfall still exists, it's what traditional management expects so it lurks behind most 'agile' projects. But what's different is we the engineers don't think we know it all any more. We work in iterations because software is too complex to build on a linear path.
There are problems with agile, and you have touched on a few. But be careful about making this kind of assertive argument on two different counts: it's close to dogma, which is not healthy, and it can betray what most people in software would take to be your own inexperience.