Collections are often considered to be personalized, meaning users create their own. When a collection is changed from private to public it becomes viewable to all users.
Themes are a special type of public collection that are categorized. Categories can have sub categories. I use themes to emulate the folder structure my users were used to seeing before I implemented resourcespace.
You might think that themes would be a great options for your situation. However, there are some limitations of themes. For example, if your theme structure has two category levels you would not easily be able to view everything that falls under the parent category.
smart collections have the ability to become public collections and can be categorized with themes as well. The big value is their ability to auto-update. I haven't used this function much myself, but i would also assume that, because smart collections are based on keywords they could not easily be removed from said collection. traditional public collections and themes give anyone access to add or remove resources.