A good Waterfall approach gets 4x more done than any version of Agile - on a complex project that can be understood well enough to design before most coding. Agile is good for reporting and projects where a client just wants to throw money to "get somewhere" but really don't know what they want.
Agile is not a development method. It's a client control method. The client (business) sees something tangible and imagines that they can follow along and have some control. It's mostly an illusion, as is most management.
The actual development methods to make Agile successful (at least from a technical perspective) are Regression Testing and Code Refactoring. Most Agile projects that fail are because of one or both of those areas failed.
As for FDD... standard on the east coast USA and many other parts of the world. It works for unthinking peons but utterly fails for jobs that require imagination.