Here's the general breakdown for what I feel between the two:
---
Controller
In a word: intuitive. There may not be a lot of variation for option on most controllers, but they just feel more natural and leads to MUCH smoother gameplay in general. I find it also enforces a "simple elegance" for a game's design; you have fewer tools to work with, but those tools can accomplish a much wider variety of tasks. The other advantage is that brings you closer to being "in control" of a single character.
That being said, it has a tendency to break down in the following situations:
- When you need to manage a lot of things at once
- When you need a high degree of precision
- When you're separated from the action too much, usually when you don't interact more directly
Oddly enough, those are the EXACT advantages of a keyboard and mouse.
---
Keyboard and Mouse
There's no question from me, keyboard and mouse are just plain awkward for when it comes to most games; but as noted above, it gives you an advantage when you need to watch a lot of things at once, need to be precise, and/or are separated from the action. Two note worthy genres where this matters: RTS and FPS. In the case of RTS, most attempts to do the genre with a controller have not worked out well at all. FPS didn't really take off on consoles until they worked out how to make it work with controllers, with the innovations of dual analogy sticks (one to aim, one to move) and carrying far fewer weapons (Halo: CE restricting to carrying only two weapons at once); those made the genre WORK with a controller, though it still struggles to keep up with the precision of a mouse in a competitive environment. Come to think of it, those are genres which are ESPECIALLY well-known for their competitive online communities.
However... I find that the keyboard and mouse just isn't as innately FUN to play with. Is it better sometimes? Definitely. But I still gravitate towards the controller, unless using that instead only ends up being unmanageable for one reason or another.
At the end of the day, winning isn't everything.