The #1 reason why I encourage embracing the Agile Manifesto in software development is that it helps ensure that we are solving the right problem. Agile encourages prototyping and revisiting to ensure that the project team is working on delivering something that is actually wanted. Since the configurablity of the salesforce.com platform makes prototyping very easy and effective, there really is no excuse not to deliver a prototype.
The #2 reason I prefer Agile is that it allows you to fail faster. Meaning, if the project is going to blow up, you'll find out about it a lot faster. Agile is about breaking the project up into manageable, faster cycles. It will ensure that you do not wait 9 months for a big bang delivery just to find out something irreconcilable that will cause you to fail.
The #3 reason I like Agile is that it allows you to win faster. Lets face it, software development is not the most socially rewarding career. In the waterfall model you bury down and no one appreciates your work more than once a year, even that barring you didn't fail per #2. Agile allows you to deliver value faster and in smaller chunks, providing much cause for well deserved celebration. Going live just feels good, so why not do it more often using Agile and phased releases?