It really depends on the type of game, there really isn't a single input device that fits all needs.
All FPS games suck with a joystick/controller. The only good way to play them is with mouse and keyboard.
I'd say that is true for fast paced FPS games (Quake, Unreal Tournament, etc), however slower FPS games (Halo, Golden Eye, etc) work reasonably well on a game controller.
RTS games (Starcraft, Warcraft, C&C), especially those requiring high APM
really do work best with keyboard and mouse, don't see another controller scheme beating them any time soon.
Beat em ups (Street Fighter, Soul Calibur, Virtua Fighter, King of Fighters, etc) work best and most naturally with an arcade stick, there really is no going back to other controllers once you've mastered the arcade stick. Playing these type of games with a Game pad will pretty much destroy your thumbs.
Game pads are typically a slower input medium than the above specialist controllers, however they do give much clearer, simpler and slower feedback to the player from button press to reaction on screen (the original nes controller design is a nice example). Its also why they are mostly used in game systems aimed at the masses (e.g. consoles, handhelds, etc). Some people just require input to be slower as its less intimidating, easier for them to pick up and understand. Its also why I think most games these days have in game buttons/switches that you have to manually and consciously press to trigger. Personally I do prefer the more streamlined approach of quake style buttons that trigger automatically on touch or on being shot but I can see why it can cause confusion for certain type of players.