Drupal treats taxonomies like any other entity and so you can have as many as you like. You then associate them with module types and when someone creates an instance of a new module (Node) they are given the option to select which term(s) (i.e. category) they want to put the data in. Modules can have more than one taxonomy associated with it. In reality all data is treated the same and the taxonomies make the bumps in the landscape. we had the problem that you couldn’t associate one bit of content with another but someone wrote a handy module to do this. It basically allowed parent child relationships between the data of different module types i.e. so a an ‘Article’ about a course could have ‘Events’ listed with it to book those courses. The interface became unintuitive because the admin had to make then both separately and then separately make the associating between the course description and the booking listings.