I prefer Halo.
There's more variety and interesting ways to play than CoD.
Plus, the storyline seems much more interesting, and it's nice to have an expansive backstory, which this game is all about filling in.
I also believe that the common player on CoD is more obnoxious, stupid and seems to own a microphone, whereas I encounter far fewer players on Halo: Reach whom are loud and annoying as well as using a microphone. And if it is a squeaky voiced 10 year old squealing at you, just mute them.
Unfortuantely on Halo, though, there is a lot of prejudice, or so I have seen, of people believing anyone with a higher rank is a god.
Which is entirely untrue, as it's possible to reach top ranks from just continuously playing the campaign, as well as using some of the exploitable aspects of the game to get a large amount of credits.
This is pretty much done from timing and spamming a lot of Offline kills to get commendations, which in turn give large credit boosts.
But, just because you're a Private Rank and someone is a Hero, doesn't mean you can't just kill them.
Handy tip when playing online, is when using the Assault Rifle, if at mid to long-range, take short controlled bursts at the target.
It will take their shields down really easily, allowing for a quick kill with some more bursts to the head.