Far Cry would be a better contender for fps of the year 2004.
I didn't like Halo 2 that much. Just my opinion.
Halo 1 imho was even better and even it had a lot of ripetitive combat sections and a few shallow levels (the Library) that almost made me want to quit the game.
Half-life 2 imho has better weapons, the aiming in Valve's game is by far more slick and satisfying (no aim assist), has better physical interactions, bodies reactions when enemies are hit are more convincing (ok, nowhere as good as modern games), HL2 offers more variety, scripted events (both are linear and scripted games) and gameplay mechanics.
They are differents games, though, meant to impress different people.
Halo tries to be "epic" with its engaging large scale battles, while HL2 tries to offer a more unsettling experience and the combat is more visceral, also the enviroment in HL2 plays a big role, in Halo it's just a scenario for battles with scarce relevance gameplay wise.