imo its battlefield full stop. However people who have been brought up on Call of duty will probably hate it because unlike call of duty, skill and forward planning are key to success, you can't run round spraying on battlefield coz you'll just get owned and you can tell when playing who those people are because they've come on and are playing it like its MW2 which just doesn't work.
Battlefield is a far more satisfying game, nearly every kill means something due to the thought thats gone into it. Sniping is especially satisfying when you get a headshot from miles away on a moving target and calculated the amount you had to aim above and infront of the enemy perfectly. Its also awesome when you get a good squad together of your mates and just tear the map up together, i got a 20-0 in a tank yesterday thanks to my mate being engineer and just repairing me all the time (and the people we were playing being a total bunch of noobs lol)
IMO the only thing that MW2 has over BF is the fact that you can just pick up and play MW2 for 10 mins before you go the pub or something, I find BF needs a good hour or more because it takes longer to get into.