Agreed but you don't need agile and a lot of the hate I think comes from it not actually being a bidirectional iterative process for most people in 'agile' companies.
Whenever you talk about "agile" you need to be specific: are you talking about actual methods to achieve real functional agility in your team? or are you talking about consultants selling the idea of scrum which management just turns into a daily hour long meeting?
Both are called agile but they're very different.
Most people will agree that the first is good and the second is bad.