if you like the idea of going into space, fighting aliens with some new missions n weapons (as well as your standard Halo set) go with H3.
If more realistic battles where blood is as abundant as the dead, where the weapons make sounds like you would expect them to without having to watch a WW2 or Hollywood movie its COD4 all the way :P
I like Halo 3 but thats as I completed the other 2 so it would be a shame not to find how it all ends
Call of duty i like call of duty because its almost realistic also you go into war! i mean thats pretty fun cause its like..hmmm how should i put this. its like a dream where even if you get killed your alive!!! i know that probably a bad explanation but thats what if feels like when i play cod4. and uh thats why i would choose cod4
Both games have their pros and cons though I enjoy Halo a bit better than COD4. However that's only because I spend most of my time on Live pwning the noobs where Halo excelled. For the basic single player "I'm gona rock this game on super hard elite mode" then I'd go with COD4.
COD 4 is very realistic and also hard too play if you got it on hard so its more fun and for halo3 it has a nice story and if you really like shooting aliens dead thats rly a type of game for you but i rather COD 4 since alien games really are getting bored.. always same story... kill all aliens..
RsC, there's alot more to Halo 3 then killing aliens. Try playing online? One of the best things about halo. You can play in teams of 6, 2, or by yourself, you can play capture the flag, just killing the other team/people, and a lot of other things. Also, in the Story, you can drive, operate turrets, and a lot of other things. So I suggest you get the facts before you start critizing Halo 3 of being 'only an alien killing' game.
Oh and to the subject.. Halo 3, of course. COD4 was OKAY, but not great. Halo 3 had a lot more varities, IMO.