Traditional project management methodologies do a very good job at keeping the customer away. In fact, customer involvement in what was deemed completely successful projects amounted to merely two instances: once at the beginning and one at the end of a project. In slightly less successful traditional project environments you may also have customer involvement when negotiating scope changes and change requests. In instances like this, the motto for both sides is: "I either win, or I lose".
As you can guess, this approach can lead to many people perceiving scope changes and customer collaboration as a nuisance at best. However, agile project management recognizes that we know the least about a project and uncertainty is the highest at its inception stage. Making decisions in bite-size chunks with constant customer involvement as you learn more about the product makes more sense than making one, all-encompassing scope decision at the beginning of the project.
Having said that, flexibility to this degree is only possible with constant customer collaboration. Understanding this allows both the customer and the development team to work together side-by-side as one team towards the same goal. After all, both want the project to succeed.
Ultimately, following an agile approach empowers you and your team to build a more successful product. It allows you to get instant customer feedback by working with the customer instead of against him. It's a win-win situation.
In the long-term, experiencing a partnership between customer and development team leads to the building of trust; and trust leads to higher efficiency, increasing the chances of success.