The latest Xbox Live activity list—the first covering a full week of Battlefield 3 availability—shows that more people are still playing 2010's Call of Duty: Black Ops online. BF3 is second, then Modern Warfare 2</em, then Gears of War 3.
I guess what really pisses elitists off is the fact that if you can shoot, CoD welcomes you in. In Battlefield it takes bit more than that. Which is a good thing I guess, but at the same time is very daunting and not as rewarding as CoD is.
It sells more because basicaly everyone can play CoD and feel like they are accomplishing something, learning the game bit by bit as they are bing encouraged by the game's many rewards.
Battlefield starts rewarding you once you have learned the game's many tricks and found yourself some team-mates you can coordinate with. They are both good games, it's just matter of what you pefere.