In WordPress tags and categories are taxonomies. (A good example of a taxonomy is the Dewey Decimal system. Libraries classify non-fiction books by division and subdivisions.)
Each post in WordPress must have a least one category. If you don’t assign one to it, it will be filed under “Uncategorized.” Thoughtful categorization allows posts to be aggregated in the navigation of a site.
By default, pages do not have tags and categories, but you can use a plugin (Add Categories to Pages) to allow these taxonomies.
Categories can be thought of as general topics for your site. For example, if you were using your site for teaching and learning, you could set up “Assignment 1″, Assignment 2,” etc. as categories and aggregate posts in your menu. Categories can also be hierarchical, so you can sub-categories. Think of having one menu item called “Assignments” and below it separate “Assignment 1″, Assignment 2,” etc.
Tags are not hierarchical. They are not required. They are usually more specific than categories. They are more like keywords that describe the post content.
When you click on either a category or a tag, you will get a list of posts related to that particular taxonomy.