People who start out evil and become good are better than people who are born good.
Changing takes real effort, being naturally good is easy in comparison. Their goodness is earned, not just given.
They could choose to do something fun like stab you. That they choose not to do it makes them better than someone who never even thinks about it.
It's the power of choice and self-control that really matters.
There no such thing as being naturally Good or bad.
In the process of growing up we learn things from parents, relatives and all the adults in our life.
If a child is being rewarded for doing selfish things {Bribing for basic behavior: Parents who offer treats or rewards to children simply for behaving normally teach kids to expect compensation for actions they should do anyway, reinforcing self-centered thinking} and punished for doing good {Standing up to bullies: Children who physically defend themselves or others from bullies often face suspension or detention under zero-tolerance fighting policies} The inherent value system of the child gets screwed up. Of course a single instance may not be the cause but these behaviour gets compounded.
Growing up and questioning the things you grew up learning is very hard choice. Because this raise a finger on thier identity. And changing that takes years of effort.
This logic also applies in stories. When you see a bad character turned to Good but there has to some type of intervention whether it can a person, event or a sudden realisation.
Always keep the bad person age in mind. Because it play a important role, younger character usually are more fluid in thier thinking and as he grow old the value he learned become more tough to change.
Hope this helps.