I just finished rereading 9 of the 12 or so books by Terry Brooks having to do with Shannara fantasy series. I did something I don't usually do - not only did I read for content, but I read with a mind to see what he did right with both the hero's journey and characterization. I have to admit I am a huge fantasy fan, so this was right up my alley.
Now maybe you do better at that than I do and already read to learn about your genre. But I usually get so swept up in the storyline that I forget all about reading to learn.
In the "Voyage of the Jerle Shannara" series (of 3 books), I followed his characters. The books were actually quite rife with them, and doggone if every single one of the main characters had a flaw to overcome, even many of the more minor ones.
I had three choices: I could just be impressed, or I could allow it to change my writing, or I could say what nice books they were, and leave it at that.
Fortunately, I am only about 40 pages into a new middle grade urban fantasy, and stopped at that point because I knew my characters were rather flat, and needed a fresh infusion of life and variety. I sure don't think I can do as much with my characters as this author did, but I plan on making fledgling attempts for more vibrant, richer characters.
What about you? Are there ways you know of to create vibrant, flawed characters who overcome much by the end of the story?