How can a service make "categories" successful while giving the user complete control?
Tagging is one possibility, but it has to be done right. Tags have the ability to make or break a service - too much tagging without boundaries leads to mass disorganization. Tagging with too many boundaries, on the other hand, is essentially the same as having hard-coded categories.
Why give the users the power to create their own categories? So that they can take the service in any direction they want - a niche market decided by the people. Instead of forcing the users to a specific niche, we will let them decide what's best for themselves. Hopefully we can do this without making things too complicated, and hopefully users will understand that democracy of a service means they truly can do anything.
Let's think of eBay - what would happen if their system had revolved around the use of tags instead of hard-coded categories? Well, it's pretty hard to say because they are so successful at this point. I'm willing to bet that they would have achieved the same success, but perhaps more user satisfaction? Perhaps they would have been able to cater to sub-markets like Arts & Crafts much faster?
Who knows, but one thing is for sure - If tagging is done right, it can completely replace the search query and make sure only the most active topics flourish. Too many categories and not enough action can really make a service look drab.