Because the basic gameplay is still fun year after year, at least in multiplayer. It has arguably the best shooter controls on consoles, all the weapons are satisfying to use, and the progression system is and has always been addictive. More importantly, I have good friends who find the game fun to play, so I often have someone to play with and talk to. The single player has definitely lost its allure, though. I play it, but it's not a reason to buy the game anymore.
P.S. I'm actually going to get Halo 4 at launch and pick up Black Ops 2 a month or two later, and I've been getting CoD on day one since 4. Both of my usual CoD squad are getting a little bored of the series (they play it considerably more than I do), and even I want to play something "fresh". So I'm going with Halo 4. My point being that even for my two friends and I, the signs of series fatigue may finally be starting to show.