I think it is important to describe a character in different levels. I love the way it is described in the (imo) excellent book Story Engineering.
Larry Brooks suggest you need to describe three dimensions of a character:
dimension is the physical outward image that the person likes to show
dimension is the characters background an psychological reason for their behavior
dimension is how the character act; what kind of person they are deep down and what decisions they make
An example (from the book). A 40 year old man drives a corvette with old leather seats. This is the 1. dimension, and it gives you an impression of a person, based on your preconceptions about middle aged men driving old corvettes.
The 2. dimension could be his psychological backgound reason for driving in such a car. It could be a gift from his late father, whom he was very attached too, or he could be an immature man with his head stuck in high school, believing he is still cool for driving such a car.
Imagine he is out driving, when a dog suddenly runs out in front of him. He could choose to drive the car off the road, wrecking it, to save the dogs life. Or maybe he cares more about the car than a dogs life, and deciedes to run over it. This is the 3. dimension. This revelas how the person is deep down, and dictates how he acts.
I think most problems with characterisation is that writer don't spend enough with the 2. dimension. Either characters are given too much description on the surface level, or they are show to behave in certain ways, or have certain values, without explaining the background reasons.