We like other people to admire us. As geeks we like others to admire us for our skills. Badges/achievements stay visible in association with our online identity long-term, unlike individual good questions & answers which quickly fade into obscurity.
If I play a game and get a great score, it's nice, but it means little to others unless they have the context of what typical scores are for that game (and difficulty level etc.) Whereas an achievement is a little more compact of a summary of what you've accomplished.
Badges also give us a checklist whereby we can see how far we've come since we joined the web site -- and how far we have to go in order to be average, or to be exceptional.