Easily cod4.
Black ops is decent online, but I think people exagerrate this because of the amount of crap MW2 had. For example, the peope celebrating the nerfed killstreaks. They're still considerably stronger than Cod4s. Nice to see quickscoping gone(since now 80% of people on cod4 seem to do this, sadly), similar with stopping power and juggernaut, but perk balance needs work (particularly, there should be one really good set, to stop half the game using ghost). Zombies is good to.
Cod5's online isn't as good as Black ops', and WW2 setting had been done so much before. The single player is terrible. Treyarch make their games hard by cheap stuff, like infinite spawns, ridiculous grenades etc. Compared to cod4, where the difficult bits are difficult but consistently doable if you're good, rather than just needing persistence and luck for the most part, the single player just doesn't hold up.
MW2 is just straight out of the running. Story is rubbish(though not as cheap as the Treyarch games), online is rubbish, and spec ops isn't as good as zombies.
I like black ops online, and the zombies, however it's single player has more cheapness in the first few levels than cod4(or MW2 for that matter) does in the whole campaign. Which is a shame.