In Donald Maas book The Fire in Fiction, he discusses making one-dimensional versus three-dimensional characters. Perfect heroes make for boring characters. Also, to have reader-appeal, characters must have elements of humanity. This doesn’t mean that they neccessarily have to be human. Aslan from C.S. Lewis’ series The Chronicles of Narnia is a lion, but because he experiences ‘human’ emotions and responds in various forms of ‘humanness’, readers can relate to him.
Gandalf from Tolkien’s epic trilogy The Lord of the Rings is an amazing hero, but his humor, grief, and sometimes anger, give him a ‘human’ quality that most of us can understand and maybe even sympathize with. His helplessness at times is also another trait.
Maas says that heroes need to have a good mix of both strength and humility; faithfulness, fearlessness, and flaws.