you can actual progress on COD4 online...unlock new weapons,new abilities,try to complete certain challenges (everything from kill x amount of people with this gun,kill this many people while laying down...up to insane challenges like killing people with their own gun, and suicide bombing people by holding on the grenade and killing everybody around you).
other than trying to impress people with your rank,halo has no rewards system. what you see is what you get. i admit its a solid game,but not enough to keep me interested. just game after game trying to get your 1 EXP for a game
when i get a kill streak in halo a cool voice tells me i have one and thats it....when i get a kill streak in COD i get rewarded with things like air strikes and helicopter support that can fuck shit up! its just things like that which make COD so much more satisfying.