I have an old Saitek P880 controller and a Microsoft Sidewinder joystick attached to my PC. I'll freely admit that they don't get used much; I bought the Saitek for a PS1 emulator and the Sidewinder for MAME.
The problem is that I grew up on keyboard. Not KB/M; keyboard. It took me ages to adjust to using KB/M for FPSs, because the first FPSs simply didn't need it. There was no up/down needed, it was just forward/back/left/right with a modifier for strafe, another for run, and fire and use buttons. Adjusting to KB/M around the time of Quake III was a *****. The main issue is keyboard's precision. The keys are separated and individually responsive, and there's no ambiguity. If you press left, you're going to go left. Analog sticks have always felt slightly... sloppy? in comparison. They're maybe useful for navigating in 3-space (because that's where the digital nature of the keyboard loses out - it's difficult to move at 30 degrees, say), but then the mouse whomps it for accuracy.
I mean, there are undeniably games which do feel somehow more "right" with a controller. I can imagine Bayonetta feeling like crap with KB/M, because that's just the type of game it is; and while you could undoubtedly do a Final Fantasy game with keys, I'm not sure I'd want to. Vice-versa, I've tried playing some of the console versions of Command And Conquer, and... no. Just no. It's simply a case of using the control mechanism that suits the game best, and most of the time, for the games that I play, on PCs, that means KB/M.