In what context should Categories and Tags be used

I think this is more a general question than a specific one and I’ll be treating it as such.

Taxonomies in general are used to group posts together that shares the same characteristic. The post_tag and category taxonomies are the most widely and commonly used of the four build in taxonomies to achieve this. Also very popular are custom taxonomies which gives you even more freedom to achieve your end goals.

Before I continue, you should really go and read this post I have done on taxonomies in order to understand how what they are are how they work.

The most important factor to take into consideration when deciding in using (and pairing for that matter) specific taxonomies are their hierarchy, of which there are two, hierarchical taxonomies like the taxonomy category and non-hierarchical taxonomies like the taxonomy post_tag. When creating a custom taxonomy, you can set them to be hierarchical or non-hierarchical.

How and when a taxonomy should be used should be based on that factor as this will decide the behavior, structure and complexity that you need. I do not say that this is the only factor, as it is not, there are still a lot of other smaller contibuting factors that you should take into account when deciding on the use of a particular taxonomy or taxonomies. What I do say is, this should be one of the most important factors to consider.

Many people mostly like to pair a hierarchical taxonomy with a non-hierarchical taxonomy and sometimes even uses more than two taxonomies to build very complex structures and relationships between posts. When you should use that and when not will totally depend on your exact use case and structure that you would like to accomplish.

JUST AS A FEW EXAMPLES:

EXAMPLE 1

In normal blog posts, I like to use the build in taxonomy category to group my posts together which shares the same global characteristics. For instance, my blog is a multi purpose one, having posts about food, general discussions, sport, etc etc. So according to this I categorize my posts.

Because category is hierarchical, it’s terms can have children, so I use that to further group my posts and create a more tighter relationship between them. Take for instance the category sport, I can futher group these posts into sub categories like rugby, cricket and gp1.

The advantage of this is, if someone land on my blog, they can select what group of posts they would like to navigate to. A sports person can decide to go the sports page and see all the posts regarding all sports, or he can select to check out the rugby page, so going to the rugby page, he can see all posts regarding rugby. I can further group posts togther and create category terms under rugby to group posts together which is from the same team, etc.

The taxonomy post_tag I use for power words, so each tag term is a power word. Say I have a tag lions-team, and there are posts in discussion and in sport mentioning the Lions rugby team, I can use the lions-team tag to couple these posts together. So if someone selects the lions-team tag, they can see all posts that mentions the Lions team regardless of the specific category term the posts are in

EXAMPLE 2

Just a quick second example, you have a shoe store selling shoes. You can create a very complex hierarchy and relationship between shoes (which can be normal posts or a custom post type posts) with a couple of taxonomies.

Hierarchichal taxonomies like brands, size and type comes to mind. So one specific shoe can be under the brands taxonomy in a term called nike, and in the size taxonomy under a term eleven and under the type taxonomy in a term called running-shoes

You can then have a non-hierarchical taxonomy called specials with terms like 10-percent-off and half-price which you tag your shoes if you are running a special promotion.

CONCLUSION:

To answer your question

So i am wondering in what context should categories and tags be used for? 

It all depends on your specific needs, use case, the type of hierarchy and relationship between posts you want to create and the maintainabilty of your system. And most importantly, your system should be organised in such a way to keep users on your site and giving them something that they like and can easily navigate through

I hope you find the above info useful