Halo 3 is a great game, dont get me wrong, but when you look at the facts of the game it's not all that its been hyped to be. The graphics are outdated and really, in the end, the online is all back to basics with possibly a few little knick knacks.
Call of Duty 5 is a bit of a step up from Call of Duty 4 but even so in a small way.
I would get Call of Duty 5, just because you would probably have more people to play with, and its over all much more intense and fun.