I don't know about Call of Duty 4 from experience, but my friend has it and said that its a pretty good game...but not too different from Rainbow Six Vegas. I have Halo 3 and it seems to me like Bungie really doesn't care like they used to. The game seemed rushed and they didn't have enough boards to start with so far as multi-player goes, which is the reason I got the game. Single player is up to par though. On top of that, they actually had the nerve to sell the new maps, but you can download them for free in a few months...but who wants to wait? There are no bots to play in multi-player in Halo 3, and I really can't say which is better unless I actually get my hands on Call of Duty4, but I've been pressed for time this month.
http://sduvme.blogspot.com/