I have a Saitek P3200 Rumble. It's good cos you can assign your own keys to the actions. It has a macro function too so you can assign many actions to 1 keypress.
You can have several profiles, so you can have different key layouts for different games.
I also use MESS (Multi Emulator Super System) It lets you use roms from every emulator like SNES, Sega, Amstrad, Atari, Amiga, Megadrive and also MAME plus many others. It has an interface like MAME gui for windows, just with lots of other roms.