The iBuffalo USB controllers have worked great for me thus far (I am pretty new to RetroPie and Raspberry Pie) and I have not had any issues with them up to this point. Also good price range which was a plus.
Depends on the games you want to play. Some reproduction classic controllers (w/ an USB plug) do not have all the buttons you’d like to have on, for instance, the Playstation 1. But the one Apocolips18 probably refers to (the iBuffalo repro USB SNES controller) is very nice. But any USB PC controller should do.
Because of it’s ability to utilize nearly an unlimited number of keyboard, mouse and controller mappings, the xbox 360 controller is hands down the most compatible controller.
Yes, other controllers can use xboxdrv. But if you’re using, for example, an snes-like controller, you’re going to be missing a lot of functionality simply due to having less buttons.