Development processes have fundamental problems they address, a philosophy by which they try to solve that problem and methods by which they implement that philosophy.
Problem that Agile solves is ever changing requirements of enterprise applications.
There are those who laugh at Agile for how awfully it would fail in building an air plane (technically speaking, proper agile will not fail, but it’s not at all the correct process to use there) and then go try to make an information system to a galactic government using a formal process and fail even more miserably. (I wanted to say kite, but wanted to emphasize size is not the problem). And this goes vice versa.
Smart project teams chose the right process for the right project. They don’t brand themselves as agile or formal. They are simply good engineers who are good at applying proper solution for the problem at hand right from the process itself.