One of the things about Agile that has intrigued me for years is how does it scale up to a truly enterprise scale. It is therefore, really interesting to see how main players in in the industry like Microsoft are using and reaping the benefits of Agile for its mainline products. I found the following video of Dean Leffingwelll explaining scaling Agile project as very insightful. The video is about an hour long but it's well worth it in my opinion.
One of the key points from the talk is that how Agile needs to be implemented top down and how the top-management needs to "have their bacon" in the Agile projects as well. Over the last few years, I have had the privilege of working in some really good Agile projects where Agile makes catering changing priorities rather easy. But, I have seen the dark side where using Agile methodologies resulted in mayhem and a series of partially completed deliverables.
Using Agile doesn't mean that the "destination" is not known. A programme / project would still need a business case (why), specification (stories in Agile) and an acceptance criteria.