Agile works very well when the following are true
1 - When the end result is not clearly known, where an iteration based methodology will help
2 - When all the team members are in the same location
3 - When the project is a product development project
4 - When the effort, the timeline and the resources required are not clearly established, because you don't know where you will end up, so the only way to get there is figuring out by doing iteration after iteration
Agile does not work, or rather Waterfall works well in the following scenarios
1 - When the end result is clearly known and all the steps in executing that project are clearly known, typically this is like an implementation project by a team of experienced consultants that have done this many times,
for example implementation of a WMS or an ERP or a CRM etc
2 - There is a clearly established timeline, the amount of work that needs to be done is clearly understood and also the amount of work has been estimated with the right number of resources and the timeline
So do not do agile because that is the latest buzz word, instead analyst both agile and waterfall methodologies and then use the approach that best fits your scenario