The reason I think Battlefield 3 will lose this is, despite the stunning graphics and the great gameplay, it takes itself way too seriously. Games should be about escapism, and I would much rather play a loud explodey WW3 story than another 'realistic' game set in the Middle East. Not only has that setting become generic and stagnated, but I also think its slightly in bad taste to set a shooter game in a region with ongoing conflict. Also, if it is just set in the Middle East then I think the beautiful engine DICE has created will be wasted on dozens of near-identical brown buildings.
As much as CoD gets hated on, I just think its more fun. I do enjoy the tactical gameplay of Battlefield games, but I just feel they take themselves too seriously. Its all well and good wanting to be realistic and authentic, but I don't think thats what gamers are looking for.
And finally, whats been revealed of Battlefield 3 seems to show that EA wants a game as accessible as CoD while DICE wants a realistic war experience like ARMA and I think that Battlefield 3 won't end up being either or these things and end up being a disappointment. I may buy it for the multiplayer, but as I'm not on PC I won't be getting the complete experience so I may not bother. The storyline looks far more generic than the Modern Warfare storyline to me personally, but I guess I'm not meant to buy either game for the single player really.
Battlefield 3 should just try to be a Battlefield game. Trying to make a CoD clone will be a betrayal to the battlefield fans and won't win over CoD fans who could just play the real thing instead of some pretender.
The only reason I'll buy either though is for something to do until Mass Effect 3 is out. I've had enough of modern shooters over the last few years and nice looking graphics aren't enough for me to shell out another £50.