MW3 has many faults not present in MW2. The worst of which is the lag compensation. Basically you are rewarded for having a poor inet connection. If you are host, you get screwed the most. This isn't the case in MW2.
The MW2 community is now mainly quickscopers and SPAS users that cannot let go. At least that's been my experience.
MW3 is still chalk full of campers, perhaps even worse than BLOPS, difficult to say. The maps in MW3 are cluttered with junk on the ground. This causes your character to get stuck on things constantly, trust me it is annoying. There are several guns that are OP'd, as usual with the CoD series.
The introduction of killstreak packages are nice, but they do get old quickly. Eventually you'll find yourself using the specialist streaks (gives you more perks), only because it speeds up gameplay.
The maps in BF3 are designed much better and look much better graphically. I find the assortment of guns nicer, plus you can customize you "class" mid game if you aren't satisfied. I haven't played BF3 as long as MW3 but I find it funner.
In short.
LAG: none in BF3 (dedicated servers), lots in MW3
GUNS: many are OP'd in MW3, small selection in MW3, most cannot compete in MW3, BF3 has a nice selection, sniping is tough in BF3 (IMO)
MAPS: BF3 has large maps, but you can select your spawn point each life which maps traversing the map easier, MW3 is very close combat, not many sniping areas (for true shots)
tldr version:
depends on your gun type you enjoy and play style. BF3 is more realistic whereas MW3 is more arcade style. Lag is bad currently in MW3. Maps in MW3 are poorly designed.