My issue with tags was that it didn't make sense using them to distinguish platforms. Like, if we're going to use tags for platform, why bother with the platform options at all? But I kinda get it through Leafo's resplies to me. I still think it would benefit to have an "other" choice for devs to explicitly say "this isn't meant to run natively on the main platforms".
Maybe some better consistency with the tags would have been better? For example we have "NES ROM" but we also have "NES (Nintendo Entertainment System)" and people are using that 2nd one for ROMs, but also for PC games that were inspired by the NES. From what I can see, we don't seem to have any tag for SNES ROMs.
To add to fragmentation, we have one called "Genesis" and one called 'Mega Drive" and neither of them explicitly state they are meant explicitly for ROM files, so they could be used for PC games inspired by those platforms.
Like, if I made a Windows game designed to look like MacOS, could I platform that under Mac because Mac users could run it in a virtual machine on their OS and play that way? The platforms make sense until you consider that the tags are set up in a way that my (albeit stupid) example is absolutely being used right now. "This Windows game looks like an NES game so we'll tag it with NES".
IMO the structure should be Platform (the program is designed to work in this environment) -> Tags (the program has these traits).