I have them all. They are all very good games but the best in my opinion, is CoD Modern Warfare 2.
Halo 3: ODST is a good game but the campaign gets boring and it only stays fun if you have people to play with. The sad thing is that it has no matchmaking of any sort although it does have a cd that has the halo 3 multiplayer and all of its map packs plus 3 more maps. Also, it got a 9.0 rating from IGN.
Left 4 Dead 2 is also a good game but after you play the campaigns a couple times, it gets repetitive even with the director AI helping mix things up. It is a good rental game in my opinion though. It also got a 9.0 from IGN
Modern Warfare 2 is the best in my opinion and also many many others. It has a very very fun campaign and an even better online multiplayer. While it has no co-op like the other two games do, it makes up for that in the insane multiplayer. I have had it since it came out and have not gotten bored, even playing it for 4-5 hours a day if i can. It is very addicting. It got a very impressive 9.5 on IGN.
Hope this all helps you make a decision. Best answer would be appreciated !=)