For platformers like mario, SNES controller.
For 3d platformers like Banjo, the N64.
For FPS, mouse/keyboard.
Rest would go with either PS2 or xbox 360.
And this is definitely the best 3rd party controller. I got mine today, was a ***** to find.
But all gamepads suck.
If you really like playing games, get a PC (they're not expensive anymore) and use the keyboard and mouse.
If I absolutely have to, I'll use the keyboard and mouse. Only because I'm accustomed to it.
But all keyboards and mouses suck.
If you really like playing games, get a gamecube (they're not expensive anymore) and use the gamecube controller.
Honestly, it depends on the control scheme for the game. Something like Assassin's Creed is well suited for a controller, while generally all FPS games are better suited for keyboard/mouse control.