Ranked in these QuestionsQuestion Ranking
Pro Most cross-platforming options
Pro Very customizable
RetroArch is built to be an extremely customizable emulator. You can edit and customize almost every part of the emulation experience (shaders, overlays, frame rate caps, controls, etc.)
Con GUI is difficult to use
Like most other things that have to do with RetroArch, the GUI too is rather hard to use and un-intuitive for new users.
Con Notoriously difficult setup
The sheer number of options and settings that it presents the user with make it extremely hard to set up for beginners. It's not for the average user, it's for people who want to tweak their experience with emulators to the tiniest detail.