One of the participants in my session (the session Diana and I did together) on Agile Retrospectives at Agile2006 asked how a retrospective differs from a sprint review where the team demonstrates working software.
Demonstrating working software to the customer (in addition to demonstrating value) is an inspect and adapt cycle for the product. The customer looks at and runs the software to ascertain whether the software is doing what it’s supposed to do and offer corrections. And, the customer may see new possibilities once he interacts with the software.
Retrospectives are an inspect and adapt cycle for teamwork and methods. The team looks at their interactions and their engineering methods to determine where they need to adapt.
Retrospectives are the mechanism for the team to do that.