I haven't played many of the CoD games, but I have played the two most popular ones. My thoughts on them are as follows:
1. It's not a bad game.
2. Wait. How come when I get hurt, the screen gets covered in orange juice?
3. Wow, these textures really are bland.
4. Why can I kill people hiding behind a steel wall?
5. There are many things I'd rather be doing than this.
And all through Facebook, I see people liking things such as: Not all boys will treat you badly, not all boys are addicted to Black ops...
And the media hype going on about how it's an amazing game with revolutionary graphics...
Now I really despise it and people who like it. It's got fairly bland gameplay, very high resolution textures of flat white walls and millions of idiots prattling on about how good it is. Now, lets look at a truly good FPS game : Team Fortress 2.
There are 9 unique classes that require completely different strategies to use effectively. For example, there is the Engineer class which has the ability to build teleporters, sentry guns, and health & ammo dispensers. When these buildings are placed effectively, it becomes very difficult to get past. However, if someone uses the demoman class, they can bounce grenades around a corner to destroy the turret.
In addition, there are several choices of weapons/gadgets to choose from, each requiring a slightly different strategy.
I have played this game for well over 60 hours, and am still not at all bored by it. However, after 2 hours I was thoroughly bored of Black ops.
TF2 may not have amazing graphics, but if it's graphics you want, Killzone 2 is by far the best. Just have a quick look at some screenshots from each game, and you can immediately see the difference.
So, why do people buy/play CoD Modern Warfare 2 and Black ops? Simple. Because they are unwilling to try anything else and are too stupid to look for anything else.