People hate it because people are morons. It's really that simple.
Everyone sits there and says "It's the same game every year! It's not innovating! It's not realistic! The community is shit! It's only played by 12 year olds!" and then go on to say "I've never played CoD".
So let's set a few things straight.
There's a new game every year because more than one studio develops the series. They usually get worked on for 2-3 years, not 6 months.
They're not innovative because you don't have to reinvent the genre with every game. Look at Assassins Creed, Halo, GTA, Fable, Mass Effect, The Elder Scrolls, Battlefield, and all the other series' spanning 3+ games that haven't reinvented their genres with every game. The series is popular because the format works, and is enjoyed by millions of people. Don't fix what isn't broken.
I don't remember Activision ever claiming the game was hyper-realistic. Realistic surroundings and situations(in SP, obviously)? You bet(with the obvious over-the-top situation every now and then). Realistic looking weapons? Well they sure as hell aren't some space weapons firing lasers. Point me to a shooter that's realistic in every way, and I'll eat my CoD disks. Every single one from CoD+Uo expansion, all the way up to Black Ops.
"The community is shit/full of 12 year olds." is probably one of my favorite things to see. How stupid are you? Seriously. How stupid are you? There is no such thing as a good community in competitive gaming. Meaning that if someone can win, and someone can lose, there will be assholes. Your TF2 community is just as shitty as the Halo community, which is as shitty as the Battlefield community, which is as shitty as the Jedi Outcast community. They're all shit and you know it.
And exactly how many 12 year olds do you think exist? If the game was full of children, why is it that I only run into young adults/middle-aged people online? I know the PS3 has a voice changer, but damn, it isn't that good. Stop being a moron.
And no, CoD isn't ruining gaming or even the FPS genre. You're just stupid.
And the fact that I typed all that, just to have it get skipped over by everyone, and the people below me will likely say "bcuz online iz shit 12 yr oldz" makes me feel stupid.
Ah well. I haven't ranted about CoD so I figured I'd get that out of my system. Cue the responses refuting my every paragraph.
Hate on.