I played both on the computer
when it comes to story, modern warfare series has no rival but you need to play every game (cod 4 cod 6 cod 8) at least twice.
so that you can know what the hell is happening.
I did it and I was pretty impressed when I finished mw3.
bf3 didn't have an exceptional story
about gameplay:
if you want to wreak havoc, kill armies, destroy everything that comes in your way
I suggest you play mw3
mw3 also has different features such as
"breach and clear" (it's really nice)
"uav, ugv" (it makes you feel you are the man)
"car scenes" (they are exciting)
"interesting missions" (pripyat was badass on mw1)
bf3 is usually goes cool. not much destroying stuff is present. but you have interesting missions and the gameplay is more realistic.
(more realistic compared to cod)
quality:
mw3 uses the same engine since 2004 (cod 4) and that's really weak.
they only develop graphics a bit.
bf3 had a new engine and everything was amazing.
graphics, explosion scenes, action scenes.
just amazing
and most important part for me is multiplay mode
bf3 rules.
weapons, maps, gameplay (gameplay differs in multiplay mode), vehicles (btr,tank,jeep,antiair,chopper,plane,boat almost everything is present)
it's crazy
multiplay on mw3 sucks.
some of the maps are from previous games and there is nothing new compared the previous games
in short
if you want to have a decent story mode, play mw3
if you want to kill hours on multiplay mode, play bf3