I adopted scrum in my org, but only in response to a product management org that refuse to do their job. We got features masquerading as requirements, we got endless tactical "the customer wants x" requests all while upper management basically was accusing the team of being lazy for not giving them everything they wanted (and more) right away.
So we adopted agile. This let upper mgmt see we were working as hard as we could and it forced PM to decide "what do you want next? What's the minimum viable set of features? Is this more important than that?"
Yes agile isn't a cure all, but it definitely helps dev remain productive in the face of laziness and stupidity elsewhere in the org.
I've also seen a ton of fake agile (we call it "Fragile") where people adopt the buzzwords of agile without considering that good agile takes a lot of work. Fragile is adopting all the bad parts of agile without any understanding of the discipline involved to do it right (track technical debt, and pay it off as you go. Sprints are no excuse to not do long-term planning / grooming of the backlog. Daily stand-ups, where you track impediments are crucial. etc,)
Success with agile only comes if you understand when it's useful (where there's a large amount of uncertainty/stupidity, somewhere in the org)
It helps mask underlying problems (the uncertainty) while still maintaining productivity. But I wouldn't fly in a plane that was designed with agile principles. Uncertainty in a "mission critical" engineering problem kills people.