I think it's important to learn to forgive...not just others, but yourself. I have come to terms with my own shortcomings thru a combination of logic (the comments Cyrena made on upbringing ring loud and clear in my mind!) and faith.
Sometimes my wife tells me "I wish I would have threatened to leave you 10 years ago so you would have learned all this then, and we could have enjoyed the last 10 years." And I respond, had you threatened to leave 10 years ago, I'd have probably said "see ya!" I wasn't ready to change then, I wasn't ready to open up and wasn't willing to see things different. Things happen when they do for a reason.