Well... depends on what you are looking for.
This is from what I have seen during playing the games on my PC, and briefly, on a friends console.
GRAPHICS:
Battlefield 3 has the new Frostbite 2 Engine for graphics. You can get really good results with this, but depends on your system. With a console, its just another FPS with no big difference from other high quality graphics games. On PC, this is different. You can get amazing results with it, but it will require an amazing system. In my case, the graphics are great, but just not amazing. To get amazing, you spend tons of $. Frostbite 2 is claimed to have a completely destructible landscape, but it isn't quite so. When you shoot at things such as trees, you just get bullet holes, and after tons of shots in trees, they don't fall down, just more bullet holes. Additionally, there are added light "blemishes" where there are the little spots around the screen where it looks like dust particles are on your glasses. I don't like this effect at all, and wish it could be turned off. Additionally, some lighting is blinding, and it is as if you are looking directly at the sun with no sunglasses. This doesn't make any sense, and distracts from game-play. At points, you may not even see someone shooting at you because of the lighting.
Now for the graphics of Modern Warfare 3. I think they are very nice, and detailed. They certainly aren't the best, but they are good enough that you can play the game and it looks attractive. So what if it doesn't blow your hair back? The graphics go along with the game and don't distract you in any way. Most of the effects are nice, and characters are well detailed. IW didn't make any claims about their graphics, only that it was better (than the previous versions), and completely agree. You can run it on any gaming-oriented machine (>5550) at high settings. Additionally, the console version looks nice and is also optimized.
Overall, for me, its Modern Warfare, because the graphics of Battlefield distract from the game-play. As I stated, sometimes you cannot see, and in Modern Warfare 3, the graphics help the game, and up the overall experience. But this is really close, because yes, of course Battlefield is more realistic, but sometimes you care about smoothness and ease of viewing instead of realism. Many effects in both games are similar. Either way, you can't go wrong.
SINGLE PLAYER
Battlefield 3 has a vast single player experience. It includes many different vehicles, and varied mission types. It definitely tares away from the standard FPS. With its campaign, its seems almost too serious. There's nothing that's gonna blow you mind and for you to say "WOW" at. Its sorda just like you going through missions, in the typical interrogation room fashion. I personally wish that games do something more original than flashbacks, it just reminded me too much of Black Ops. Its fun, but may get boring. With the vehicle thing, you can't really choose if you want to be in or out if it, and what part of the crew you want to be. The game chooses for you. The tank mission is a good example, you can't choose what part you want to control, nor what tank, or when you get in or out if it. I think Crysis has mastered vehicles better.
If you want something exciting, get Modern Warfare 3. The game is strong and has many surprises. To me, a unexpected plane crash is way better than the ability to go in vehicles. The excitement is powerful, and the voice acting is nice. You get to know the characters of the game, and it seems more like a story than just flashbacks. It is definably less predictable. Controls feel more fluid in this game also, but it may be just because I'm used to it.
Overall, once again, I think Modern Warfare 3 has the edge here. Its simply because its exciting, and it draws you in. Flashbacks aren't really to interesting for me. If you like varying game-play styles, you can sure go with Battlefield.
I haven't really played too much multiplayer so I won't judge that. I would, but I don't want to type anymore, so I'll stop the comparison here.