I say get both. :p
But seriously, BF2 has not yet being released but it looks very promising. Can't say much about that until I play it myself.
HL2 on the other hand is probably one of the best single player experiences in any game from any genre. IMO its not just a game, its an experience...