I read philosophy and psychology books on this topic now and again, I'm interested in how it works for some people, I agree that dealing with wrongs done to you are important and one way to do that is to forgive but there are some things I think you dont need to forgive or which are unforgiveable, that's different from doing anything about it. You might not be able to or you might not want to. Although over your own thoughts, feelings and generally your self you are sovereign and refusing to forgive can be some consolation when you've experienced something seriously evil.
I forgive and forget quickly a lot of the time because I can see that the people responsible for the slight or malice are flawed individuals, unlikely to change, I come into contact with a lot of them through work, either the adolescents I work with, their families or sometimes other professionals.
Other times I wont forgive unless there appears to be a change possible, I dont become dependent on the other person changing because I'm not that other directed and dont believe that people change that much, not even with the insight, should it some how magically materialise in them (because they are generally resistant to it coming from someone else). I just decide, well, if you're going to carry on like that, if that's "you" then I'm not going to deal with it and you wont have the benefit of interacting wth me. Some of them wouldnt say its a big loss but that's fine.
I think of it in terms of the ignore function on here, I'll ignore someone because they finally cross a line, now and again I think about whether or not to take them off ignore but then I see them quoted by other people behaving the exact same way towards them. Why forgive that? No lessons being learned there