@domodan Many of the different emulators (called cores) included with RetroPie are based on the libretro library. Basically, that allows easier control configuration, among other things.
On my Pi3, I've got emulators going as far back as the Atari 2600 and Commodore 64, and as modern as the N64, Playstation, and Dreamcast. I play games from all of those different systems with a standard off-the-shelf XBox 360 wired controller (which I had before I bought the Pi, and use for PC gaming as well). It plugs into the Pi's USB port.
Pretty much any controller that plugs in via USB will work on the Pi, although I've personally not been able to get an XBox One controller to work.
You can remap the controls for any system, and also for any game. So for systems that had fewer buttons than my XBox360 controller, I can assign those buttons to perform whatever action I want. Here's some more info: https://github.com/retropie/retropie-setup/wiki/retroarch-configuration
The Pi3 also has bluetooth and wifi capabilities, so you can use wireless controllers as well (or wireless controllers that connect to a USB dongle). I think that BT connectivity is still a bit glitchy for some controllers however.
If you like the retro controller style, I know that many people like controllers made by a company called 8BitDo : http://www.8bitdo.com/.