In response to this kind of question I can only speak from my own personal experiences, which are based around a Christian idea of forgiveness.
I have some people in my life that I have found it rather difficult for me to "forgive and forget".
The thing I realized with myself is that just because I don't forget something I've done, does not mean I haven't forgiven myself.
The thought processes I go through in my head when I've done something wrong first of all is almost an instant remorse for whatever it was (unless my pride got in the way for a moment), the next thought is to make some kind of reconciliation to whom or whatever situation I wrongly affected, and then to ask for forgiveness from whom I have wronged.
But the last part, forgiving yourself for a wrongdoing. That much in my book, is sometimes the most difficult to realize or accept. I think people often tear themselves up over something so much they eventually find it hard for them to forgive themselves even if the one they wronged forgives them.
I think forgiveness is a healing kind of love. Forgiveness is a characteristic of love that when we choose to forgive others and ourselves we are choosing to unconditionally love ourselves and those around us.
I try to always be in a state of mind that wants to forgive any wrongdoing. Though it is very difficult sometimes, I can't take even a days worth of baggage with me for another day in my life.