All types of "Agile" put process before product & customers. And that's what's wrong with it.
The customer and product must always come first. And teams and processes need to be aligned with the needs of the customer for the product. One-size-fit-all process paradigms always fail, because every product requires a different process. Trying to apply the same process to every product is like trying to fit scare pegs into round holes. It will fail every time...
And if you want software that's easily maintained, has little bugs and is easily extended with new features, it is crucial to have a well-designed modular architecture at the core of your product. There is NO WAY you can build this with Agile... not for a software product that's at least of medium complexity. It's simply impossible, because the very priorities required to build a solid architecture are diamatrically opposite of the priorities set by any version of Agile.
So, what's the alternative, then? Just assemble people who are talented and trustworthy. Find people talented enough they can NOT just be replaced by anyone alse... and trustworthy enough they're dedicated to not wasting your time or budgeted. Just a handful of talented & dedicated people typically can achieve more than a team 2x or 3x its size with much less overhead and zero micromanagement.
Talent can not be easily timeboxed and is typically allergic to any kind of micromanagement. You recognize it more easily in the way it stands out when its deliberables are achieved. As others have pointed out, the best software is typically created by one senior dev or a small team of senior devs that are self-organizing and operate within an atmosphere of freedom and trust, without any managerial interference, and which are given the time needed to produce the quality required.
The moment you start time-boxing everything, you force your team to cut corners. Cutting corners intevitably produces technical debt. And technical debt is almost always deprioritized in favor of new features... resulting in technical debt piling up and puling up until software is barely maintainable. I've witnessed it first hand at even the most professional companies I've ever worked for...
Much the same, the moment you start micro-managing your devs, they start losing motivation and trust... the very motivation and trust they need to perform optimally. So, get rid of any form of micro-management. Find people you trust. Give them freedom. And they'll do wonders no Agile team will ever be able to achieve...