I bought all three on release date, Halo is still my favorite with cod4 close second. I bought gta4 and I thought it was a lot of fun, I like it, i liked the other ones in the series as well, but it just doesn't make me wanna play much more, I played the multiplayer and It just doesn't do it for me.
I play halo a lot, I beat it on legendary and it is one of the greatest games ever made Imo. It has one of the best replay values of any games i've ever had.
Cod4 is a great game as well but right now i'm still addicted to halo.
gta4 and fps's are completely different games so its hard to compare them