You can try to change people, for the better, by threat or fear but in the end that kind of change is short lived. As soon as the threat or fear is no longer in a person's life, they will revert back to their old habits. If you want to see people change for the better, permanently, accept them exactly the way they are.
When people feel accepted exactly the way they are, they feel this tremendous love and appreciation for the 'gift of acceptance' you gave them and it makes them want to improve naturally. Genuine acceptance of another, exactly the way they are, empowers them to get unstuck from the things they do not like about themselves and allows them to develop those traits that makes them feel good about themselves.
How do I know this to be true? Because I was on the receiving end of both 'acceptance and no acceptance' regarding the way I was. When I wasn't accepted, I got worse. However, once someone showed up in my life who accepted me exactly the way I was, I got better naturally - Frederick Zappone