The biggest visible differences are that iterations are very short in XP, and that programmers can often go through most of the different stages multiple times in a week. (There may be one relatively large story and task planning session and one acceptance test session per iteration, but most of the rest of the stages are done at least once per day.)

The best way to look at XP is as something that keeps the cost of change very low. There's not a lot explicitly invested in the future. This fits in jobs where the specs can change quickly, or where a job can be delivered in stages, one every six weeks or so.

It's probably not a good fit for defense contractors, and large shrink-wrap software houses might have a hard time adopting it. For situations that require a lot of flexibility with short notice, it can be very useful.