RetroArch is commonly used with emulators but it's not an emulator itself. RetroArch is just an A/V frontend for software using the libretro API ("libretro cores"). It's well suited to all applications that need very low latency and tight A/V synchronization, using only limited types of hardware device (libretro cores are not sandboxed so they can technically access any hardware, but they work best if they use the libretro abstractions).
>Another good bit is MESS and the emulators for the older consoles.
Yes! It's very much in the shadow of MAME but it's a great project documenting old computers and consoles in the same way MAME documents arcade machines, as in through working emulation.
Recently the projects merged so now MAME contains MESS, I don't know why it took so long since the same devs working on MAME were often working on MESS, and the codebase was practically the same outside drivers, but finally it's done!
Another good bit is MESS and the emulators for the older consoles. Retroarch is another good collection of emulators.