they both rock!! CoD4 rocks because you can customize guns, different matches, competive play. Halo 3 rocks because you can forge maps, different matches, customize armor, play campiagn online, so they both rock and thats my final answer!!
I've played both online extensively and CoD 4 wins by a landslide. It's got more diverse game modes, generic but innovative gameplay, and some strategy to it aswell as it's more team-based and you can customize your guy. Also it's a lot more realistic.
Cod4 wins handsdown, halo bores the hell out of me because the guns are so boring and generic. in call of duty the guns have some real power in them, plus the game requires more skill.
Amazingly, I vote for COD4. I seriously just tried the online for kicks and I was hooked for hours! Halo online can get boring after doing the same thing over and over and dealing with people yelling at you. COD4 community seems to be a bit nicer for a reason I don't know.
CoD4 owns Halo 3 in online play because its so smooth but Halo 3 defiently comes close because of vehicle usage and variety of grenades and its easier to snipe