It really depends on your preference because you cant really compare these 2 games. Oh and he is destructible, its just that he can heal really quickly.
Halo is a first person shooter set in the future and you have to kill aliens and other weird creatures. So its not to everyones preference. But this game has amazing online play that most people love but the campaign is kind of boring if you play it too many times.
Call of duty 4 is the best first person shooter ever made. It is set in modern times (2007-2008ish) and is about what you could call the war in iraq. You are a soldier who has to kill all these terrorists and snipe a couple of guys and is a hell of alot of fun to play. But this game has 2 parts, The part where u are the soldier and when u are a russian soldier fighting of some guys. This game also has great online but not as fun as halo 3s.
So it comes down towhat you preffer. BTW the weapons are real in cod 4 but not in halo.
Its either FPS of the year, or Most Sold Game.