GTA4 failed to properly follow up a previous game in the series. It lacked the prospect of having fun when playing. They fucked over the gameplay so they could have lame ass social elements and other dumbshit like that. 90% of the missions consisted of scripted chase sequences with the poor vehicle controls.
MGS4 was fantastic. As a fan of previous MGS games, it delivered big time and improved the core gameplay in a huge way. If you really hate MGS4, I would guess you weren't a fan of previous MGS games either. For GTA I was a big fan of previous games, but GTA4 was huge let down.
Saints Row 2 is now getting more hype because it contains what GTA4 threw away: the idea of having fun and freedom in an open city.