Since many folks here are doing web startups that involve tagging (be or blog posts, photos, etc), this might be relavant. The use for tags is to cluster groups of photos together. But across users, tags are Inconsistent, somewhat defeating this purpose.
Lets take Flickrs tag example (most popular tags)
photowalk2009, sp4449, pitchforkmusicfestival, worldwidephotowalk, skphoto, scottkelbyphotowalk, scottkelbysworldwidephotowalk, scottkelby, vihar, day199, scottkelbyworldwidephotowalk, scottkelbyssecondannualworldwidephotowalk, kelby, scottkelbyphotowalk2009, odori, photowalk, therebeastormabrewin, worldwide, riat, mefi10
Notice that the "photowalk" appears so many different ways, where it should have been just one tag "ScottKelbyPhotowalk". This is just a example, but there are lot of instances where this happens with other tags.
Unifying the inconstant tags can be done in several ways. Automatically using world similarity, or allowing users to suggest tags that mean the same (then a moderator can go select the ones that validate them). Another way is picking a random tag and all objects tagged with it, and then examining the most common tags within that set (most likely the top N tags common to all of them will mean the same).
Just an idea to make your next app a bit more usable.
It's probably a mistake to show top tags at all.
Flickr allowing you tag an entire upload set is definitely a big mistake. Browsing/discovering on the tag "tokyo" to find 20 pictures of the inside of a nondescript hotel room (even though the owner was on his way to or in tokyo) is not really a great experience.
Overtagging/hypertagging is definitely a symptom that something is wrong.
Tags should mostly be describing the object itself (photo, in this case.) They are also overloaded to describe a set of things (see previous) and a group organization of people. This last is very fragile.