The minds producing, writing and directing GoT are following rules I think are vital for any piece of fiction, in any medium. They have real, imperfect, human characters dropped into fantastic settings and situations, and that’s what works. The reverse, typified by your average superhero movie, is rarely as involving or as interesting.
The why is simple enough: Humans identify with people not unlike themselves. We’re all imperfect, mixes of good and bad, cowardice and bravery, and we respond to that in a character. I try to keep that in mind whenever I write. A character should have moments when they fail to live up to their own expectations, and moments when they surprise themselves. When we watch GoT we get that – plotters who fail in their aims, good men and women brutalized by those who are far less good, madness triumphing over sanity – all the things we see day to day on the street or in the news. Seeing those interactions in a stunningly different world makes them stand out for the reader or viewer. It gives us a contrasting background, a brightly-lit stage where the passions can be easily seen.
Perfect, idealized characters would spoil it. Besides, who roots for Superman? Give me Tyrion Lannister any day. He’ll go far. If no one kills him.