A really "good" hero/heroine is one with a sense of humour, awareness of their own flaws, tries to correct them and often fails (hey, don't we all do that?), is brave, persistent and does not get on the nerves of the readers by being too perfect.
For fiction to work, it is the characters that draw the readers in and there has to be something sympathetic about said characters for that drawing in process to have the remotest chance of working. So how do you make your characters sympathetic?
I tend to give mine a dilemma people can identify with, a robust sense of humour, courage (I always love characters who have plenty of that) and make them as down to earth as possible. In my rebellious fairy godmother's case, she is stubborn but brave and honourable. I think she is both admirable and a pain in the neck (I'd hate to live with her, visit yes but live with, no!). In the case of her daughter, she is to be pitied for having to cope with her mother and to keep said mother's unusual past quiet as well as coming to terms with what that past means for her personally.
Life often isn't easy. It certainly shouldn't be for your characters!