Well, good question. Somehow the whole search for the best core for a particular machine is too much work for me. I actually always use the Nightly from RA. If something doesn't work correctly, I create an issue on GitHub and hope that someone who knows something about it will correct the error.
I would also prefer it if all the efforts that individuals here invest in maintaining special versions were invested in improving the code base of RA. This is my personal opinion and I don't want to offend anyone.
Sigh. Ideally yes. But due to the nature of retroarch it's next to impossible. It's multiplatform with a Lot of commits from a multitude of devs.
First, there's no dedicated wii maintainer so every commit can break something since they don't deal with wii specifics. I've fixed a few issues ( and others too) in the past but got really tired of it.
Secondly, while it's great for powerful machines to add features, it's problematic here. The code is growing constantly and we have very limited Ram. With the neogeo core, only a few kilobytes were remaining for some games!
That's why Superrsonic made a fork based on older retroarch with some features removed and wii fixes.
A first step would be, for example, to reactivate MAME 2003 in the official release in such a way that we have separate cores. Just like the version MAME_2003_PLUS in the plug-ins. It shouldn't be that hard to submit a pull request with the necessary changes on GitHub. I'm happy to support.
Same thing here. At least the plugins versions are tested and working. You can submit a pull request if you want. But, I warn you, I don't think they're interested and not all friendly. 1 of fbneo dev said seperating cores was shitty and the vm neogeo too. Do note that sorting the mame drivers is a very tedious job!
So, you'll excuse us, but for all these reasons and surely others, it's not surprising we have special versions.
But if you can improve/fix, your help is welcome!