A spreadsheet with what emulators are supported on which platform: https://batocera.org/compatibility.php
Most commonly, the answer is just “No one has implemented it yet.”
But there may also be another reason; Batocera's old slogan is “Only cores that matter”. To a certain extent, superfluous emulators that are redundant (ie. already have another emulator for that system) may be intentionally not included. With that said, if there's a good reason to include multiple emulators for a single system, such as additional options, extended compatibility, major difference in performance (such as on a weaker platforms), it is a good candidate for inclusion. From early 2021, the “focus on one emulator per system” guideline has been loosened up, and Batocera currently features more emulators/cores than ever before!
The compatibility spreadsheet linked above contains information on why certain cores may not be found on certain platforms (usually, they're simply not powerful enough). Hover your cursor over the checkmark (or lack thereof) to bring up a tooltip with the explanation.
If unable to do that on your device, the explanation list can be found in its code form here.
One thing that Batocera will not budge on is implementing emulators for systems that are real “current generation” consoles. Batocera is a retro-gaming focused OS, first and foremost. For more advanced users, there is nothing in Batocera that would block you from implementing your own emulator system if you know how to set it up correctly; the various community resources and the notable files page might help you get set up. Just note that emulators added manually this way are not officially supported and we cannot offer help from either our forums or Discord if you choose to do this.
That's cool. Check the question above and also consider that Batocera is its own operating system, ie. has different libraries/compilation methods available to it from most other distributions. For instance, a lot of scripts that rely on the entirety of Raspberry Pi OS running in the background (like RetroPie does) may not work in Batocera.
Check the above reason, but even more so. Programs running through WINE tend to have even stricter library/backend requirements, not to mention the whole mess that is setting up Windows programs correctly in WINE in the first place. Cemu being perfectly WINE compatible is nothing short of a miracle.
In other words, it could be supported for specifically older handhelds, but only through an older version of Dolphin. Batocera mostly maintains the current/latest versions of most emulators (with a few exceptions). If you'd like to port over and maintain an older version of Dolphin for your particular platform, feel free to open a pull request. Do note that expected performance would still be pretty low even if achieved.
GSPlus, an Apple II+2GS emulator, has been included in Batocera since v32.
The Apple II emulator was removed from Batocera for a period of time before v32 for the following reasons:
In other words, LinApple had been removed as it required an upgrade to SDL v2. That never happened.
Mesen, Mesen-S and bsnes are very accurate, but demanding emulators. Last tested in Batocera v34, Mesen-S and bsnes's performance was deemed too poor to include in some of Batocera's ARM builds by default. Mesen and Mesen-S have been made available on the more powerful boards.
A person of action, I like that.