I prefer BF3 massively. I've played Battlefield games for the longest time, whilst the CoD series has gotten remarkably stale for me since after the original Modern Warfare.
I can hold my hand up and say I'm not passing judgement without having played the games, because a friend of mine has purchased every CoD game and they became a huge staple in our frequent LAN sessions. They're fairly fun games, but honestly I clocked hundreds of hours in the first Modern Warfare and with each new instalment I've played, I honestly feel like nothing, or very little has actually changed.
Plus, as of late, I've not been a huge fan of games that reward lone wolf run and gun style gameplay, I prefer more objective based games, working with squads to complete missions which is why I've started playing Battlefield a lot more again. There's nothing more satisfying to me, game wise, than rolling up to a heavily defended position in a tank, your squad of friends that you're communicating with backing you up and using a great deal of co-ordinated team work to take the point and win your team the game.
Also, is that top picture REALLY Modern Warfare 3? Because it looks a hell of a lot like Chinatown from the first Modern Warfare.