I prefer CoD. I'm better at it that's Halo, and it seems easier to play for hours at a time without getting a little bored. That said, I like Halo a lot and was pleasantly surprised with Halo 4 after REACH, which I found a bit lackluster. And yes CoD is far from perfect - the campers, boosters, whiners, Infinity Ward getting worse at making them while Activision gets greedier... But the core of the game is super fun, and I can still play it for hours on end, especially the TreyArch entries.
I prefer Gears Of War to both of them, though.