I have done a lot of forgiving for those who have done me wrong as I am not perfect either. However, that being said, I have also altered my interactions with people who fall into this category to protect myself and my feelings. Some I still talk to but not like I used to and some not at all because I know they will do it again.
I wouldn’t blame some one for not forgiving a person due to the situation.
Forgiving someone definitely has levels. For my times I have forgiven someone, it has helped me let go of their issues.

Thank you, and I agree. Forgiveness is an option