I want to preface this by saying that the tags on discourse are great, they are one of the better implementations of tags that I have seen in a community driven application.
When I mention best practices I am looking back to when I administered a busy PHPBB forum for about 5000 members and several hundred posts per month. I used the guides and best practice discussions available in the PHPBB support forums that were available at the time, so my feedback is admittedly dated. In my experience tags were added to make finding related content easier rather than as the basis for the sites organization. When I look at current large scale forums for different topics like car modification, cellphones, hobby crafts, engineering, and video games, a lot of the same practices are still in use.
I’m not saying “make a category for every tag” or “make all the subcategories you ever imagine being needed”. I’m suggesting exactly what they suggest in the ‘Lets talk about tags’ post which does say to start small and build categories as you go according to what tags and topics become popular. That’s what they mean by “self organizing communities”.
I also looked at the forum that they listed as “fully embracing tags” and about half of the posts (estimated from their busiest category) on it are untagged which makes the feature less effective over time and makes more work from the admin team.
From a user experience perspective, it boils down to this: The less a user needs to do to make something work the way you want it to, the more likely they are to do it. The current user path, with just tags, looks like this:
There are 4 or 5 steps a user has to go through to get a tag on their post and each subsequent step in the process makes it less likely that the user will add a tag. That flowchart is a bit rushed but it outlines the current process I go through when creating a post.