I suppose you could compare what aspects of the games make them good, but it really comes down to personal preference. Halo has always done an awesome job of having an unique feel. I know many people feel that Halo is just another shooter, but it definitely has a feel that I have not seen replicated in any other games. Halo also had a great idea with the medals and Double-Triple-Overkill / Killing Spree/Frenzy/Running Riot. Getting medals is part of what makes the halo multiplayer experience exciting. Also Halo 3 is very solid through and through, whereas COD4 always feels kinda buggy in the menus (gameplay is fine though).
COD4 did a good job of making things more realistic. A couple shots from medium to long range with your standard assault rifle is more than enough to kill an enemy in COD4, while that will do next to no damage in Halo. I'm not sure if I completely agree with the way unlockables were done in COD4. In theory you're giving the more experienced players better weapons and perks, but on the other hand it feels good to unlock things and makes you feel like you have accomplished something. Also the ranking system in COD4 is relative purely to how much you play and not how skilled you are. I like it at times because there are times I get quite angry at the Halo 3 ranking system, but in Halo when you see a level 50 you know the guy has some skill, but thats not necessarily the case in COD4 when you see a lvl. 55.
The two games have different gameplay styles as well. Halo is a game that hings on map control. Once a team has a certain number of the "power weapons" they can be hard to beat unless you find the right equipment to counter them. COD4 is more about one weapon do all... and you don't change weapons nearly as often. Halo provides for up close combat, but the higher bullet damage and one hit kill melee of COD4 discourages it.
So yes completely different games that will appeal to different people depending on your play style. I'm a Halo guy myself, but I still like to fire up COD4 every couple of days.