Well you know what they say: if it ain't broke, don't fix it. Obviously people enjoyed the CoD series and Rainbow Six series so they didn't change a thing to it, and people still bought it. You can't say CoD4 is shit, because if it was, it wouldn't have won Game of the Year. Sure, you could say the only reason people bought it was because of hype and now they're disappointed, but that doesn't show through when you play online.
Your friend who says GTA4 looks like shit obviously has no clue what he's talking about. He doesn't like a game because the main character in it is black, which shows he is 1) racist and 2) a fool when it comes to video games.