Just because some people make bad choices doesnt mean they are bad people.
Get yourself a plain sheet of paper and something to write with. Create three columns.
In the first column make a list of all the people you know and love or really like, who have never lied, broken some rule or other, raised their voice to someone, missed a deadline, let you down, failed at something, gotten drunk and unruly, embarrassed you, etc. In other words someone perfect.
In the second column make a list of people you know and love who have done some of the things mentioned above, and more, or worse, but who you love anyway.
In the last column make a list of people who have done some or all of the things mentioned in paragraph one, and who you do not love, or do not like, or have a grudge against for doing one or more of those things. In this column you will have people whom you have not forgiven for one thing or another. You will have people who you hold to a standard that they do not achieve, and whom you resent for not reaching that standard.
Now take a look again at columns 2 and 3.
How many people do you have in column 1?
Do you have some weird combinations like your friend in column 2 and your spouse in 3? Or your dad in column 2 and your mum in 3? Or one sibling in column 2 and another in 3? A former friend (whom you fell out with because of these things) in 3 and a current friend in 2?
Now ask yourself what is the real reason why you accept one parent's, or one friend's, or one sibling's 'imperfections' and not those of your spouse, or other sibling, or other friend, or other parent?
If you have anyone in column 2, it means you are capable of accepting peoples' shortcomings. And for everyone in column 3, you have chosen not to.
Give yourself a gift this Christmas, choose to move someone from column 3 to 2.