Simple reason: Unlike COD (where you play in a 'single line' manner i.e, same gameplay, no variation, etc), in L4D2 you're playing with different persons everytime (mostly). This eradicates the monotony involve in usual single player games such as COD which have a very limited scope of experimentation qua gameplay.
Each player (in L4D2) will have his/ her own style of playing, which cannot be predicted (unlike say, COD). That brings about an element of surprise everytime you play the game thereby offering a kind of 'suspense' as to how the game will proceed.
Once you're done with COD, you'll be thinking twice before starting it over again. Whereas with something like L4D2, its more competitive and attractive.....and its ruddy addictive!
For eg, just talking about it is making me wanna play it the minute I get home from work!
So yeah, I'd highly recommend L4D2 over COD if you're strictly stuck between those two.