In agile, we attack the most important things (those with the highest business value) first. We learn as we go and constantly refine our priorities based on the knowledge gained.
But oftentimes, you need to be able to predict where you're going to end up. You want to know roughly what features are going to make it in the release given the current priorities. This allows you to give stakeholders a feel for where things are going and whether their investment is justified. It allows you to give customers and partners a feel for what is coming their way. Most importantly, this knowledge helps you to make adjustments along the way so that you can ensure that what you end up releasing is best aligned with the needs of the business.
