If you can put your items into a single category (like cats, dogs, etc., 1:1 relationship) you should take advantage of the hierarchical system that Plone uses to store data. As soon as you have items that belong into multiple categories at the same time (1:N relationship or N:M relationship) you need to use either:
keywords (like the subjects field in Plone)
hierarchical vocabularies (like c.taxonomy)
references (if your categorization is modeled as content objects itself)
The right choice here really depends on your use case. My recommendation would be to try to keep things simple if that's possible.
Support an item in more folders could seem a good idea, but this would create confusion among users, things like export would be difficult, deleting would be a nightmare or at least a performance problem, and so on.