An open-source graphical interface for programs
RetroArch is a free and open-source utility tool that was developed by The Libretro Team. Its main function is to serve as a front-end (more commonly known as a user interface) for emulators, game engines, video games, media players, and many other types of applications. Licensed under the GNU GPLv3, its developers designed it to be a fast, lightweight, and portable solution to various software-based applications that can function without the need for dependencies.
What is RetroArch used for?
RetroArch essentially serves as a container for various applications and presents them using a graphical user interface that users can navigate and browse through. Its list of supported software is also quite extensive. As mentioned earlier, these include emulators, media players, game engines, and even video games. It runs programs that are converted into libraries called libretro cores and uses various UI types in order to present something that is intuitive and can be easily understood.
RetroArch has been ported to various platforms, ranging from computers, home consoles, handheld consoles, mobile devices, single-board computers, and even web browsers. It's cross-platform, hence your settings are unified and any changes you make are synced across all of them. In addition, it supports hardware integrations, as well. For inputs, you will able to plug in your gamepads to use for your games. It also supports both audio and video outputs, with speakers and TVs or monitors respectively.
This utility is most often used for game emulators, and for good reason too. It supports most game consoles of past decades. This is anything from the Atari 2600, Sega Genesis, classic Nintendo systems, PlayStation home & handheld consoles, all the way to the Nintendo Wii. It even has graphical filters and other performance tweaks to enhance the experience further. It has a rather steep learning curve to it, but thankfully, there are plenty of guides and tutorials on the developer website.
The one to rule them all
All in all, RetroArch is a robust and capable utility to be able to run programs across various platforms. Its main strength lies in emulation, though, and it shows. It supports most, if not, all classic game consoles and even offers various features and tweaks to improve them even further. It can be daunting to learn and use but once you get used to it, it's a flexible tool to have handy.