To me, the biggest problem with the CoD games (multiplayer, not the single-player part) is that they’re the lowest common denominator of military themed shooters.
Small maps and a sort of “make-it-take-it” style of rewards based on killstreaks, etc… tend to reinforce a particular style of headless chicken play, and not offer any incentives to play like a real soldier would. The killstreak rewards are enough to drive someone crazy- they basically make a good player better, at the expense of everyone else, which seems to appeal to the CoD kiddies, who seem to be bent on racking up kill counts and “pwning” each other, and not actually playing the game. Plus, the game modes themselves aren’t engineered to actually reward people for playing them- the whole thing’s a big game of team deathmatch in every game mode, because the scoring rewards kills more than anything else.
I gave up on CoD: MW3 and the entire CoD series when Battlefield 3 came out, and haven’t looked back. Not that the BF games are perfect, but they offer a lot more than lip service to being a military shooter, which is about all I can say about CoD.
I also think the user community skews young- I haven’t heard nearly as asinine things over team chat, nor have I seen nearly so many offensive usernames in any game before or since. Also, the in-game behavior of most CoD players is kind of indicative of immaturity in my mind. Not that Titanfall, BF3 and 4 don’t have plenty of knuckleheads, but the knucklehead to normal gamer ratio is relatively low compared to CoD.