I'm generally opposed to more subforums, they create a separation of more than just the topics. It can also create confusion as to where exactly a post should go, which just creates frustration for users. Just like carlsson just suggested, every thread started has a field for tags, so a solution might be to come up with a specific set of agree upon tags and post the list in a sticky thread for reference. That would make finding and filtering for specific topics much easier.
I also I strongly agree with InsaneMultitasker, it is always better to find an old thread on a topic and post to it, rather than start a new thread on the same topic. Also, staying on topic is important to making searching past threads possible an useful. As soon as a thread starts going off topic, people should have the courtesy to make a new thread on the tangent topic.