This my experience too - agile seems to exist because clients and middle management refused to determine and plan exactly what the want developed, preferring to "know it when I see it". Agile encourages this attitude.
The other side of rapid iteration and emergent design is building a system with change in mind, not over architecting and living by the principle of YAGNI - You Ain't Gonna Need It.
It's the job of the architect who should have both the people skills and the technical skills to give the customer what they want and not what they ask for.