The single-player mode for Battlefield 3 is okay, but where the game shines is the multi-player.
In the rivalry between Call of Duty and Battlefield, I have to say that in terms of the "third" sequels, Battlefield 3 beats the snot out of Modern Warfare 3. B3's multi-player smashes MW3's multi-player, since the combat is more varied (mainly thanks to the fact that you can pilot various vehicles) and that the gameplay itself rewards teamwork rather than just getting kills. If you're not a master at getting kills, you can still earn points and rank up by helping out your team, such as picking the engineer class and repairing your team's vehicles.
Among other advantages against MW3 are the graphics and sound effects. The graphics look marvelous and the gun sounds actually sound like real guns being fired, while MW3's gun sounds are more like toys than the real thing.
My only complaints are that if you're a new player jumping into battle against those that have ranked up significantly, you're gonna get your ass handed to you, and that the controls for the helicopters and jets are a little difficult to master.
If you're looking for a well done multi-player military shooter, then get your paws on Battlefield 3.