I think I preferred Halo 3's online to COD4's. Like, I appreciate the options in COD4 online but it seems that if you're spotted, you die... and you don't have any chance to react, do some fancy footwork and try to get into a one on one shootout in the game.
But like 90% of COD4's single player is amazing. There are a few pain-in-the-ass parts (the amusement park area for one!) but it's non-stop action and it doesn't drag on like most FPS single players. The graphics are weird though, at certain times, it looks lovely, and the framerate and lighting are top notch... but in other times it looks like a blurry, muddy mess, up close the grass looks like a bad N64 game.