Halo.
I've never played Bad Company, so I don't know anything about that, but I have played Modern Warfare, so here are my reasons why Halo is so so so so so soooo much better.
1. Forge and Custom Games give you endless opportunities and combinations of game types and maps. This makes the game more fun and playable for longer.
2. The campaign is much better than MW2. The Halo campaign actually tells a story whereas MW2 doesn't seem to make sense half the time. Plus, Halo has co-op.
3. The Matchmaking. Halo matchmaking is just so much more enjoyable than MW2. Mainly due to the fact that on MW2, you run in, get sprayed with bullets, die, re spawn and repeat. On Halo, you can actually fight back against someone and with a bit of skill, you can beat the person who attacked you.
4. Creative kills. I've found that on MW2, the only ways to kill people are: melee, snipe, explosives or spray, and the only fun one being javelins. However, on Halo, there are so many ways you can kill opponents. I mean, there's still the same ones as MW2, but there are more as well. For example, on one map it is possible to throw a grenade at fusion coils, make them explode and send a traffic cone flying at an enemy and getting a splatter kill with it. There's also an array of vehicles in which to cause destruction with.
I think I've said my part.
PS. I have no objections towards cheese. Or BC2 for that matter, mainly because I haven't played it.