The third line of the Agile Manifest <
http://agilemanifesto.org/> is
"Customer collaboration over contract negotiation"
And the first two principles:
"Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage."
The reasoning is that delivering high value software early and often is what will make the customer happy, not compliance with the contract.
Imagine these two scenarios:
a) A more than happy customer, which got delivered exactly the system that he needs, although it wasn't defined that way in the contract.
b) A system that complies to the contract, but doesn't solve the customers problem -> customer unhappy.
Which situation would you rather be in?