I personally prefer BF3. The larger scale, variety of ways to play, the amount of content you get, the support DICE offers with it, nothing seems too powerful, yet nothing is too weak, rent-a-servers to play by rules that YOU want to play by, and with people YOU want to play with, the fact you get to pick which server you join instead of hope you get one you like.... CoD doesn't offer anything like that. However, it's incredibly slow paced, even on Close Quarters or TDM, it's hard to play in a party, the learning curve, especially for vehicles, is pretty steep: so much it's not fair for newcomers, and a good amount of glitches that's plagued the game from launch keeps it from being perfect
On the flip side, CoD (I'll use the series as they generally have the same strengths/weaknesses) has faster gameplay with more modes to play on, it's easy to play with friends or talk with others in the game/lobby, you get to pick which maps you play on (not like BF's set rotation), it has lasting appeal (MW2 is still in the top 10 most active XBL games where Bad Company 2 is practically dead), lots of replay through Prestige, more customization (classes, playercard, etc), and many party games, as well as free for all. However, it doesn't have the "epic" war feel, in gameplay, sounds, graphics, etc that BF carries, they're plagued with glitches (usually different with each entry, but still there), lag is very easy to come across due to hosts, host migrations slow down the gameplay and cause lots of problems (wasted equipment, streaks, reset stats for the game, etc), and so on.
PSN ID: Troll_Face_Flame (formerly armyflame) X360 gamertag: KGMR Flame Pre-ordered and anticipating: Call of Duty: Ghosts, Battlefield 4, and Last of Us