In my opinion, you can not compare Battlefield 3 to MW3. They are two completely different games. Battlefield is a realistic team based first person shooter, has the exact same feel as Bad company 2. MW3 is an over the top FPS that is all about a one man army. If you just want to shoot fools, get MW3. If you want a good team based FPS go for Battlefield 3.
Campaign wise, MW3 was excellent. I am a huge fan of the story and loved how it ended. You dont need to play all the MWs to get the stroy, if you start it, you will get the plot summary, but might get confused during some parts, where it tends to jump from location to location and you may not know what the hell is going on. Battlefield's campaign was ok. I was disappointed. I hoped it would have gave MW3 a run for its money, but it didnt really grab my attention. There are some cool missions but you dont say "Holy S*** What the heck just happened" as much as you do in a COD game. There was a couple of really sweet sequences, but other than that the story was ok, jumped around a lot and thats what a lot of people say about MW3. Both have coop, but MW offers more variety if you are looking for a coop game. Survival mode gets boring after a while, just like most do. Both games are very well developed and are both should be bought by hardcore FPS fans.