Something I can speak at length about!
What emulators you use depends on what platform you are running on.
Predominantly, I play on a game console, and want to emulate game consoles. As such, I use the most powerful of my hackable consoles to emulate other consoles, so I dont have to get off my duff (or dig in my closet if the game I want is really retro) to change systems.
Currently, that is a Wii-U sitting on my shelf. (I would much rather use my Xbox-One, but nope, not hackable.)
On the Wii-U, I use Haxchi to enable homebrew, and use homebrew channel in the vWii built-in emulator. On the vWii, I use an emulator called Nintendont to emulate gamecube titles, I use a USB loader to run Wii titles (only ones I own)-- Snes9x GX to emulate SNES titles, FCE Ultra GX to emulate NES, Genesis Plus to emulate Sega Genesis/Masterdrive/32x games, and I use injected virtual console containers for N64 titles (installed with MultiModManager).
On my PSP, (an old PSP1000, running custom firmware) I have a GBA emulator, a genesis emulator, a snes emulator, A nes emulator, a copy of Dosbox (YES, REALLY!), and ScummVM. I use injected eboot files for PSX emulation.
As for titles that I emulate, they are all rom image versions of games I actually own.
On a Pi3, what you want is RetroStation. There is a straight up distro for that, RetroPi.
https://retropie.org.uk/It combines a nice front end with a no-nonsense linux backend, and easy to configure glue for many system emulators. Basically turns the RPi into a game console.