Drupal comes with a built in taxonomy system. The taxonomy system allows you to categorize the nodes on your site. The taxonomy system allows you to define vocabularies which consist of one or more terms. Vocabularies allow you to organize your terms into groups. Each term is essentially a category. There is no limit to the number of vocabularies you can create. There is also no limit to the number of terms that you can include in each vocabulary. Your vocabulary can also have free tagging. So instead of entering specific terms ahead of time users may enter tags freely at the time the post is written and those tags automatically become terms in that vocabulary.
This taxonomy system makes Drupal very flexible and very powerful because you can use your categories and terms to display the content on your site in a variety of different ways. For example, a contributed module called Tagadelic allows you to display categories as a tag cloud. You can also use your site categories to generate custom views and RSS feeds.