Agile probably fails because it is the next Management Buzzword that somebody heard somewhere. Then try to use it, because it is the new best thing.
Like anything, it likely has it's place and time, probably mostly dependent on size and type of project being worked on. Having it misapplied because Management thinks it is a swell idea, then having people just try to make it work because they have to, well it might work, but if you are trying to fit a square peg into a round hole it may be difficult not to fail.
From what I have read, for small to medium sized project Agile can work quite well. However once you get to the large and gargantuan size projects it starts running into some fundamental problems. Sure you might be able to break it down into smaller projects, but that is not always reasonable or makes sense, or then you are adjusting requirements simply to fit your development process. Also those pieces need to be able to work together in a seamless and coordinated way, which requires some higher level planning...
Anyway when I hear about a very large system being done in an Agile manner, the first thing I think of is, enjoy that incomprehensible pile of garbage that is going to be the result unless you are very careful.
I think some like it for infinite job security, as you will just be constantly going back over and redoing and readjusting things for that application forever just to keep it limping along and running like some Quasimodo. Though in this example, perhaps Frankenstein might be a more apt analogy where you are trying to take a bunch of badly related pieces and building a single system out of it, zapping it with lightning and hoping for the best... The result? Fire and Mobs... Fire and Mobs...