Definitely Call of Duty 4. It's by far the best game in the series, and probably my favourite traditional console FPS ever.
Activision has never been able to match the quality of that game, and I don't think it ever will.
On the Halo side, I haven't played Reach, and I did like Halo 3, but not nearly as much as CoD4.