Wow there are some very good arguments here for both games, and I'd like to give my input.
Lately I've been playing tons of COD4 and while thinking about it the other day, I realized that it is more challenging, and I get a greater feeling of satisfaction from it. I dont run into annoying little kids, or douchebags every match like I do when I'm playing Halo 3. Now I'm not saying that it doesnt happen, because I know it does, I'm just saying that there is much less of it.
As far as the diffrence in skill. It all boils all down to what game type you are playing. This is why in COD4 I play Hardocore Team Death Match, or Hardcore Team Search and Destroy. It is much easier to be killed, and when I shoot someone with a sniper rifle they die. Because lets face it. If I shoot you with a sniper rifle and you dont die, then I better have only shot you in the pinkie, or the big toe.