Zeldman discusses several of the problems with tag clouds, but I thought I'd hit on a couple of more from a different viewpoint.
First, as a primer, a tag cloud (as seen on my Flickr account, but also seen on sites like del.icio.us (experimental) and 43things):
700 animal ape2005 architecture armstrong beach bike bird blue boulders bridge buddha bunny cacti california castro cave chaparral child christinethornburg christmas cliff condor contrail cute cycling deyoung ekimov endangered evil flight flower football gate gehry getty goldengatepark green halloween herzog house incredibles iris japanesemaple japaneseteagarden lamb lancearmstrong landscape leaves licenseplate lights lizard losangeles maple metaldetector meuron momiji moon morganhill mountain nationalpark nerd orange pagoda paulmccartney peligro pinnacles pipes rabbit race railing red richardmeier robonexus rock sanfrancisco sanfransciscograndprix santamonica sfmoma sidewalk sign silhouette sonoma spiderman spire spires stonelantern stones sunset tattoo teagarden tmobile tonybennett tree
Tag clouds follow a very basic principle: the font size of the word is scales linearly with the number of times the tag has been used.
At first glance, there appear to be several things right with this sort of display. You can see, for example, that I have a ton of photos tagged "Richard Meier", and that I have a lot more "architecture" photos than "ape2005" photos. IMHO, however, this is all fluff -- it's has the appearance of being a statistical visualization but instead conveys information crudely and inaccurately. For example, for each of these pairs, answer the question, "Which do I have more photos tagged with?"
- japaneseteagarden or goldengatepark?
- richardmeier or architecture?
- sanfranciscograndprix or house?
With close examination you will probably get these right, but my point is that it takes a bit of thought (and you have the chance of getting it wrong). One of the fundamental problems is that the "tag cloud" display is using the size of the word to convey how many tags are associated with it. However, the size of the word is related to (a) the number of characters in the word (sanfranciscograndprix vs. house) and (b) the font size of the word, which grows in two-dimensions. Instead of trying to convey:
size of word ~= (# of tagged items)
we instead have the relation
size of word ~= (# of tagged items * length of word)2
So as a statistical display, it's bunk -- appearing to help you understand relative tag distribution, but not in an accurate manner.
Aesthetically, in order to try and convey this pseudo-statistical information, it completely throws the list out-of-whack: lines grow to arbitrary heights, one's ability to scan quickly across the entire list is lost, large words are constantly drawing your attention from smaller words, etc..., and, to borrow from Zeldman, navigation skews towards popularity rather than findability.
The fact that "richardmeier" is one of my most prominent tags entirely relates to the fact that (a) I took a ton of photos of the Getty one day, and (b) I was testing out my new Flickr Pro upload limits. They are not my "best" category of photos, I don't frequently take "richardmeier" photos, and they are not the photos I most want people to see. But the tag cloud design dictates that visitors will forever feel "richardmeier"'s gravitational force (that is, until I go crazy with another photo upload).
My own tag/category display could use some work, but I offer it here as a comparison (feel free to critique in the comments):





