Whether your book is character-driven or plot-driven, no book can be truly interesting with a perfect main character. Characters need to make mistakes and misunderstand things and risk failing in order for readers to relate to them and sympathize with their struggle.
But does this mean you need to give your characters flaws?
One of my biggest flaws is my stubbornness. Growing up, my dad and I butted heads over the silliest things and neither of us backed down.
But when I'm rock climbing, my stubbornness keeps me trying to climb a route even when I get stuck at a particular handhold for ten minutes. It pushes me to the top of routes that are harder than anything I've done before and makes me learn new skills to get to the top.
Is my stubbornness a good thing or a bad thing? Depended on the day. I continued to improve at rock climbing. But I also refused to do things the tried and proven way when the easy path wasn't my own idea. It was both a strength and a weakness.
This approach to character development can be a great way to make a likable and well rounded character. In the Percy Jackson books, the titular character has the fatal flaw of loyalty. His friends love him for his loyalty and it drives him to accomplish incredible things. Even his enemies respect it sometimes. But they also use it against him. They control him through his loved ones. It is both his strength and his weakness.
Another example is the live action Disney Cinderella. Ella is kind to everyone around her, just as her mother told her to be. That kindness is what draws the prince to her, but her stepfamily uses her kindness to enslave her. It is both a strength and a flaw. In order to get away from her family, she doesn't need to learn to be mean. (That would be a pretty terrible character arc in a Disney movie.) Instead, she needs to pair that kindness with courage. At the end of the movie she gains the courage to stand up for herself. The courage helps her kindness no longer be a weakness.
Another benefit of the strength=flaw approach is that it can make characters feel more distinctive and cohesive. Rather than spending book time on various traits for many characters, you can show one trait for each in both its positive and negative light. You certainly don't want to make that trait the only definition of your character. But you don't need to take the time to specifically show the other traits to the readers. It doesn't need to go into your outline to have a scene where the main character is brave and then have one where they are lazy. You can let other traits show up as they are relevant to the plot. Naturally. Subtly.
Not all stories need main characters with a strength that is also a weakness. A smart character may suffer from shyness or laziness just as effectively as they could cleverly reason their way into bad situations. A love interest who has trouble trusting others can be an excellent listener or a loyal defender of their select inner circle. Sometimes the lesson a character learns during the story is very different than the strengths that they need to serve the plot.
But if you are having trouble juggling lists of strengths and flaws, this approach may help you create imperfect characters without worrying about positive or negative traits. They just have traits and the plot will push that trait to be a good or bad thing at different times.
Happy character creation!
About my coauthor:
Elestrei Engrei was a huge help at providing the author perspective for this post