A bit cliche. But the reason why Shakespeare has been so successful over the last four hundred years must partly be that he doesn't judge his own characters. It sounds easy but most of authors can't do this. As authors we more or less have our own favoured characters and ignored ones. That's human nature. Shakespeare have his favorite characters too, surely, but he doesn't judge them, or the other characters in his play. In his play thieves steal, murderers kill, aristocrats strut, servants gossip, yet he doesn't judge any one of them, people just being people. The more you read Shakespeare, the more you realize that he doesn't intend to punish the villainy and reward the good at all. Sometimes his good endings are frustrating; his bad endings are satisfying. Because there are no real good/bad endings in real life. People just live like that.