I’m pretty sure most of the agile hate comes from developers who have never worked in a real agile company/project.
As many comments here already mention the majority of companies are just cargo culting.
I’ve worked on a few agile projects and it was great. It just doesn’t work in a factory like manner, that’s the problem, it can’t really be ‘defined’. You have to get people who know what they are doing and don’t require handholding (helping each other is fine of course) and you have to give them an environment where they can work with flexibility and trust.