First, to set the tone, you may start with this StackOverflow question on agile, lean and Kanban.
In short, agile and lean are general concepts, the former basing on Agile Manifesto and the latter on Toyota Production System. Then we have Scrum or XP, built over agile, and Kanban, built over lean, which are specific methods teams can implement, like Prince2.
Personally, I don't treat agile and lean movements in a very orthodox way -- they base on the same principles. So, to some point, they're overlapping. Also, you will find teams mixing methods from both houses, Scrumban (a combination of Scrum and Kanban) being probably the most common.
If you wanted to position agile/lean methods somehow I'd say that:
- Scrum is the closest to the old-school project management methods, although it doesn't really deal with formal side of project management.
- XP focuses on engineering practices and is generally programmer-centered.
- Kanban is often dubbed change management framework as it doesn't change the way team works on the day 1 and lets the process evolve over time.
As all three focuses on different things, it isn't uncommon to see them, or their parts, used jointly.
If you want to learn more I'd start with such set of materials:
In terms of books as a kick start, I'd recommend: