You will be surprised, but I believe forgiveness is an egoic act that everyone should do in their life.
The main reason why we should forgive is: we stop living the past and wasting our time. Please try to think about it a little bit and I'm sure you will understand me, meanwhile, let me give you an example.
What happens when we don't forgive others? Yeah... We start bearing in mind what they have or haven't done, then we try to guess what they might do and so on - it doesn't make sense to waste time on such things, does it? Also, you might notice that at times like that you can't sleep well and concentrate on things that are really important to you.
Let me sum up: we don't forgive others because we're good we do that, because we don't want to waste our time.