Im going to go with both, though I find that for me, Halo is more of a sociol game, where CoD4 is more competitive. My skills exceed those of my (most, if not more, then equal, and no im not trying to be cocky, most my friends just seem like they play with their controller backwards with the sensitivity on insane) friends by alot so I tend to go solo in CoD4, but in Halo, we chill out and have some good, friend to friend fun. Halo just seems a bit more laid back, you be the judge for yourself, but for me, can't pick a favorite.
honestly , thats a very hard choice. It mostly depends on what type of game you like . For example , if you like more slater killing , go with Halo 3 , if you like more strategy killing , go with COD4.
halo 3 is more fun when u hav friends over 2 play as u can bring guests online and you can play coop however cod4 is also very good and in my opinion better gameplay online but it all depends on wot u like more