I like CoD because pf two main reasons. My friends play it (more than BF3 atm) and I can do well at it, as I prefer going out solo. CoD caters more to the solo player than the team players, but MW3 is going to apparently going to change that.
I'm not saying CoD is the best game ever, it has it faults. There's always one gun everyone uses and one tactic that they use (Famas, ak74u and ump45/OMA, Scavenger noob tubes.) The community has it's faults, but there's far less "i know everything about guns because i play cod" and "stfu noob' than what you guys are saying. You're taking a small part of the community and automatically labeling their title to everyone. I also think the graphics could be better.
I don't like BF because it requires 100% more teamwork and in my opinion teamwork isn't as good as it is when you know the guys you're working with. I also dislike the huge maps because I'm running all over trying to find people (maybe because I'm playing with to few people.) I've also been pretty much bombarded by sniper fire the first time I played BF2. I know the game has come along since then, but still. I really don't like the air vehicles of some of the games. I think they should have added a simplified control scheme for them.
I do think destuctable environments is pretty awesome and the graphics look amazing, for BF3 though.