It's SIMPLE to hop-in and play. It's been so many times before but it's just true. In Battlefield, you really do need a group of friends or at least a good group of randoms in your squad that communicate to actually get a win. In Call of Duty you can go it alone and be a one-man-army and win the game a decent amount of the time. In Battlefield, it's damn near impossible to do that. Both are great games, and they're both very different games, but since most of the people that buy these games are casual players, Call of Duty is a lot nicer about letting any noob get in a match, and win or lose within just 5-10 minutes. In Battlefield, a match can be anywhere from 15 minutes to over half an hour.
So long as Treyarch/Infinity Ward doesn't change Call of Duty drastically - I.E. include vehicles - and instead makes small improvements every year, or every other year, then they can probably get another three or four years out of the franchise before maybe having to seriously evolve. The games are consistently good every time, and they're selling like crazy.