Half-Life 2 is my favourte game, so the choice is obvious, especially compared to the other two games.
The characters are well written and diverse, also the facial animation makes them look more alive than any other character in a video game, especially Alyx.
It's easy to shrug off the story as just another mediocre space invasion story but there is a lot more to it if you look more closely, Valve is often very subtle and has a love for details which can tell a great story.
There's a lot of variation in the levels and gameplay, it's not just shoot shoot shoot but they give you many options and we see many different places.
The atmosphere is really what gets me the most in the game, the first few times I played hl2 I was so immersed in the world, I didn't notice how the time went by. The music helps a lot, it always suits the situation very well and it just sounds great.
As for COD games, I nevery played 1-3 so I can only talk about the games from the mw era.
The story is often very confusing and doesn't make much sense, the characters seem mostly just bland, not interesting at all.
There is basically no variation at all in the gameplay, just shoot everything that's moving, the whole time. Just as much action as possible but that gets boring very quickly.
The multiplayer is fun at first but the games are really imbalanced, it's easy for one single person to take out a whole team. It's just run and shoot. It runs out of steam pretty quickly.
I'm not sure what to say about the Halo games, they're not bad and quite a lot of fun but the series just never really got me. The story and the characters just never got me hooked up, especially the Master Chief, who just seems so characterless. I've played through Halo 1 and 2 and it was a nice experience but nothing more for me.
I've never played the multiplayer though.