Let's assume you have a Sitecore site containing "Products" section, it is well-structured by categories, and contains many thousands of items.
Some day you decide to add tags to all your products...
No problem, you should just find a place to store tags
And then add a new field to the product template
Here what you got on each product:
Now the most interesting part, we need to build a tag cloud based on these values. There are lot of ways to implement it, but when you have to deal with really big content tree, the most suitable solution is using some search engine. In this example I'll use Coveo, but it's possible to implement the same functionality using Lucene with almost the same effort.