Without going into details, I find its core methodology cool.
- You meet with the client, get an overview of the project
- Cobble together something in the given time
- Show the product-in-development, get the feedback from the client
- Rinse repeat until the product and the client needs are aligned
But from my experience the real-world implementation is meetings. More and more meetings. After a while client loses interest and basically leaves you to do something, which diverges from the real world need and solves an imaginary problem.
This happened so much that, I find my gorge rising whenever someone says "Oh we are using agile methodology"