Belarius, a.k.a. Morgan, is not a particularly good guy, but he's not a particularly bad one, either. When we first meet him, we learn that he's the one who—shhh—stole the Cymbeline's two sons to get back at the king for banishing him. Of course it wasn't his fault that he was banished. Even so, taking revenge by kidnapping someone's kids? Not the best plan.
But then we see Belarius with the boys, and he seems loving and kind to them. When they want to fight for Britain, he's not so into it, worrying about their safety—but he comes around when they talk him into it. He tells his boys: "If in your country wars you chance to die, / that is my bed too, lads, and there I'll lie" (4.4.61-62). Translation: I don't want to keep on living without you. Aww.
We'll be the first to admit that Belarius has raised these dudes to be strong, noble, guys; the kind of guy you'd love to let take out your daughter. To top it all off, he's worried about what they will think about his past actions. He calls himself a "coward" (4.2.31) and seems to feel bad for what he's done; he even helps save the king's life. So he's a good guy then?
Well, not so fast. In the final scene, Belarius does finally comes clean to the king and his fake sons—but it's the way he does it that gets us. He doesn't say, "Sorry for that whole kidnapping thing. I really, really, went wrong there…" Nope. He tells Cymbeline: "pay me for the nursing of thy sons" (5.5.394). Say what? It takes some guts (or some stupidity) to say to the father of the boys you stole that he should pay you pack for raising them.
In the end, Shakespeare never does come down on one side or the other. So is Belarius a good guy who just made one mistake, or is he a not-so-nice guy who has some redeeming qualities? That's for you to decide.