RetroArch is a frontend for the Libretro emulation API. It effectively functions as a multi-system emulator, although that is technically not correct. Its main strength is the number of systems it has emulation "cores" for and the number of platforms it can run on. RetroArch runs on everything: Windows, Mac, Linux, Android; you name it, and it will have a port for it.
The Libretro API allows developers to turn emulators into "libretro cores," which any compatible Libretro frontend can use. Among the available Libretro cores are ones based on Mednafen (as "Beetle") and MAME, which both are multi-system emulators by themselves. So it would be pointless to list all the supported systems here.
RetroArch can also be useful for platforms such as Android, where you may have limited choice in what emulators are available for a particular system. In such cases, it's worth checking out if RetroArch can fill the gap.
Because RetroArch/Libretro is a complex system, it may take some time to get it working the way you want it. I had it crash on me more times than I would have liked. You can find some hints and tips on the General Emulation Wiki's Dummies Guide for RetroArch page.
As the RetroArch downloads tend to be quite large, you will find only the Windows versions below (and a link to the Google Play Store for the Android version). For downloads for other platforms, see download section on the RetroArch website.
|Retroarch||Windows, Mac, Android||Open-Source||-||-|
|RetroArch 1.7.3||Android||Freeware||May 4, 2018||-|