allright here goes....this is a really tough decision.
Halo 3
Pros- Insanely good multiplayer, you can play with multiple ppl on the same xbox at a time, little to none glitches, it actually takes quite a bit of skill to play online, 4 person online multiplayer campaign, and you play with people in your skill level during matchmaking.
Cons- Campaign is pretty lame, there can be a lot of lag, not a lot of options for customization, and continuous updates (some of those are good though).
Call of Duty 4
Pros- The level of indivdual customization online is incredible. You can choose you classes, guns, and add perks to each one and switch between varients during a game. The online multiplayer is amazing, better than Halo 3.
Campaign is very very solid also.
Cons: You can only play on one account at a time with COD4. You cant have guests or other accounts signed on at the same time online. Also, there are no skill differentiations. So, starting out, you could be in a match with a really good guy whos been playing for months.
Overall, i'd reccomend COD4. It is a really really solid game and if you give it a bit of time, you'll really grow on it.