You knew it was coming, every single gaming website/blog/vlog/youtube channel already did compare the two games, for better or worse. So I figured I had to do it as well.
First, I have to admit something regarding the predecessors (both spiritual - BFBC2 - and official - MW2) of those games. I hated MW2's campaign, I thought it didn't make any sense and that it was just ridiculous. The multiplayer was actually very good, some maps were just fantastic, but still think much of this as it simply built upon what CoD4 gave 2 years earlier. As for Bad Company 2, the campaign was better, if only for the fact it didn't take itself too seriously like CoD does, and the characters were very likable. And the multiplayer was just fantastic all-around. Before playing that game I didn't think it was possible for me to be addicted to a FPS multiplayer. How wrong I was...
Round 1 : Campaign
I must say I wasn't expecting much from either games, both of which usually thrive on their respective multiplayer features. But I found myself finishing MW3's campaign in only two sittings, which is quite unusual for me. Granted, the story still doesn't make that much sense when you think about it for more than a few minutes, but the action is pretty good overall, and even if some levels are a bit boring or not well scripted, others were simply a joy to play. On those levels, you just didn't give a flying poop about level design or the unoriginal plotline.
As far as Battlefield 3 is concerned, I had the impression all along that it took itself a bit too seriously, and that made the game a bit boring to go through. The story just wasn't very interesting, the missions weren't interesting, I died a LOT even if it was on medium/normal difficulty, which is usually a breeze on FPSs. It frankly wasn't bad, just not very good.
Round 1 winner : MW3
Round 2 : Multiplayer
Before I start writing here, I'll admit something : I've played a LOT more BF3 than MW3 online. To be honest, I bought MW3 because I wanted to know the end of the story, of course, but mainly because it has a feature that makes it very attractive : Split-screen online and in Spec Ops. That's just a superb idea by Sledgehammer Games/Infinity Ward. But when it comes down to basic multiplayer online, BF3 is just so damn amazing. Superb maps, both huge and small, many vehicles, a lot of weapons and a point attribution system that tries to encourage team play, especially in conquest mode. The main drawback is the lack of modes, only Conquest, Rush and Team Deathmatch.
On the other hand, MW3 has definitely more modes and offers extreme customization, even if it's a bit ridiculous sometimes. However, the maps I've tried are not that exciting, and the main gameplay is so strikingly similar to MW2 and Black Ops, it makes you wonder where the "3" in the game's name comes from. It simply built on MW2, which itself built on CoD4. The lack of innovation is disappointing, but why change a best-selling formula? Even then, I think the Killstreak/Deathstreak rewards should be gone and that the small maps don't offer much in the way of strategy. I do love the new Kill Confirmed mode, which is very, very entertaining. MW3's multiplayer isn't bad by any stretch of the imagination, it simply looks and feels too much like MW2, and that's abit annoying if you've bought the game full price (which I didn't, I got it for 30$ used a week after its release!).
Round 2 winner : BF3
Final round : Overall presentation
EA/Dice hyped BF3's graphics like I've rarely seen before in a video game. The final product is definitely good looking, especially on PC, but it's not OMGWTF MY HEAD WILL EXPLODE out-of-this-world beautiful. It is genuinely amazing in the campaign, but not as much online, obviously. Where BF3 offers a LOT, it's in the sound design, which makes the game SO immersive. You can FEEL the pressure when a building/wall collapses close to you, the effects of a grenade exploding next to you, the sound of the bullet dropping when you snipe from a window. It's just fantastic. If there's one thing I'd like to change into BF3's presentation, it's the games menus, which aren't particularly attractive or helpful. I would rather have BC2's menus, especially in-game, as they were MUCH better.
Sadly, Call of Duty's engine is starting to show its age. Of course the game doesn't look bad, but you feel like you're playing a 2009, if not 2007 game. Characters animations seemingly never evolved, neither have explosions effects or sound design. You get the same sensory feelings you might have had 4 years ago when popping CoD4 into your console. That's another blow to Infinity Ward's franchise, it has never evolved from a presentation point of view. Even the menus are the same! I understand that you don't want to lose/frighten seasoned CoD players, but this is getting ridiculous. Now that the trilogy is over, I hope they take the opportunity to develop a new engine.
Final round winner : BF3
That makes it 2-1 BF3, which is the better game overall (but not by far), even with that lackluster campaign. I still think that every military shooter fan should get and play Battlefield 3 AND Modern Warfare. They offer different experiences, and one might suit your style more than the other, but you just have to try both.