I think Call of Duty's success comes largely down to accessability. COD is easy to pick up and play and and it doesn't have a steep learning curve compared to other FPS's. The quick time to kill in comparison with games such as Halo also helps because it allows new players to pick up easy kills and feel good about themselves even though they are suffering a large number of deaths which keeps them playing.
The fact that COD is generally fact paced also helps, the perks/unlocks system is another thing which many people like and also and from a purely console perspective the fact that COD runs at 60 FPS as opposed to many other shooters which run at 30 FPS makes a huge difference in terms of controls and aim sensitivity.
IMO COD is a great series however both Treyarch & IW have both release games with major errors which have frustrated many of the hardcore fans These issues are less likely to frustrate people who are new to the game, so while many COD fans are abandoning the series this doesn't have a massive impact.
Black Ops 2 is possibly the most balanced COD yet and there are no gamebreaking perks/weapon combinations as there have been in past game, however there are major connection issues, the spawns are broken, the maps are mostly horrible with numerous headglitch spots and you cannot hear footsteps.
There are lots of things I like about BO2, however the flaws in this game make it incredibly frustrating to play.