i think myself it depends.
How much did it hurt / damage other people? temporarily or permanently?
how much did it hurt / damage you, temporarily or permanently?
Has the person tried to make amends, if that is possible?
in general I guess that never forgiving yoruself is actually counterproductive in living your life well and in trying to make up for the mistakes you made, or trying to live your life better. But if it's bad enough it's something you can't really forget.
The consequences of that mistake may never go away. For dramatic examples, bankers stealing pension funds, or the consequences of someone committing a rape where a child results, or the aftereffects of an affair. But (without knowing the specifics) in general I'd say that while a bad enough mistake can change your life and define it to some degree, beating yoruself up forever is just not constructive for you or anyone.
I guess, do what you can to put it right, take responsibility and learn from your fuckups ...