The core problem that Agile methodology solves is when the project involves a lot of unknowns. Agile is not the silver bullet for everything. Agile works very well when there is a lot of trial and error needs to done, especially innovation and product development work.
Certain projects won't work well in Agile, for example WMS rollout, this is best done in a waterfall manner because there are so many dependencies. Before you begin configuration or development you need to do an end to end design and that cannot be accommodated in one Agile User story. Agile works really well when you are building capability after capability, meaning feature after feature and especially when you don't know how long will it take to get that feature perfected. It is not just technically building the feature but also sharing that with the user, seeking feedback and then perfecting it, so the user engages with it.
Also Agile works really well when the team is in one place, I am sure people are executing agile across remote teams successfully, but its effectiveness reduces, because you cannot just walk into the other person's cubicle and talk to the person, that is what agile encourages and you are supposed to do, because you need to build a feature as quickly as possible, instead of waiting for the next scheduled meeting or status call or the meeting point.
Where as waterfall approach works really well when everyone knows what needs to be done end to end.
Typically this is known after the design phase of the project. So for product development Agile works well, where as for implementations to Production scenarios Waterfall is still the best approach.
Also check out my book Puga Sankara's Supply Chain Blog - that is a must read before spending Hundreds & Thousands of $$$ on your MBA or Masters Degree to get the best ROI or before starting your Entrepreneurial journey.