Categories and tags are used to make it easier for your users to navigate your website. Used correctly, they can increase your website’s overall usability.
Each post must have one Category, but it’s up to you whether you have Tags or not.
Some good advice is that your Categories are like your site’s table of contents, and your Tags are for your site’s index.
Categories is a hierarchical taxonomy. This means that you can create a tree structure, with parent categories and child categories.
For example, if you had the Recipes Category, you could have children such as Starter, Main Course, and Dessert.
Tags are a non-hierarchical taxonomy. This means that there are no parents and children, but the information is presented as flat. A post in the Dessert Category might have the tags baking, chocolate, cake, fruit, and nuts.
If you’d like to learn more about Categories and Tags, and how they work, you can read all about Taxonomies in the WordPress Codex.