I'm a keyboard and mouse guy and I'll explain why in detail
1. Mice are more accurate than joysticks: Joysticks on most consoles don't usually offer much accuracy, they're clunky, they give resistance and they are only limited to 8 (or sometimes 16) directions. Mice on the other hand use relative position movements rather than simply joystick strain, so they're in essence omni-direction. Couple that with a much higher DPI than any joystick can offer, Mice just tend to be more accurate.
2. Customizable Controls: Ever had a game where the control scheme was just outright silly? I've had that happen several times. With a console controller you just have to accept it and try to learn how to play the way they want you to play, with a keyboard however you're usually given the option to customize your own controls, making the game play out how you want it to play out.
3. More buttons: This may seem like a downside, as Dubaku pointer out, more buttons just makes things confusing. While most games just use the wasd, mouse and perhaps space bar, some games NEED lots of buttons. For example, you'll probably never find a game like Arma 3 on console, because Arma 3 simply requires more buttons than the Xbox can give. It may come to a shock, but 14 buttons sometimes just doesn't cut it!
4. Easier selection: Something that I've always found really annoying with controllers is selecting things from an inventory window, especially if going to your inventory doesn't pause the game. You can't simply SELECT the thing you want, you need to move to it using the joysticks, sometimes there's a delay, sometimes you overshoot it and while you're trying to figure out how to select your item you're already being killed by an enemy. I don't even know how console gamers could play minecraft, using a joystick to browse the inventory just seems much more difficult!
5. Text-chatting: Don't have a Mic and you're using a console controller? Well, if you want a send a message, prepare to spend 5 minutes per 20 words just using the virtual keyboard. I always found sending xbox live messages to other players was just a total pain and sometimes I didn't message somebody cause I knew it would take too long. In comes the keyboard, where you can get a good 80 words per minute, you're able to type at your hearts content, chatting to other players in game even.
Certain games where controllers are useful are racing games, due to using a joystick rather than a button, and perhaps platforming games.