Since "forgiving" is a present participle, it can behave as a noun, adjective, or adverb. "Forgiveness" can only be a noun.
"Forgiving" is a more flexible word. You can always replace "forgiveness" with "forgiving". However, even when "forgiving" is used as a noun it cannot always be replaced with "forgiveness".
For example, you can switch the words in Altini's "forgiveness" examples:
(1) "After many years, she finally found it in her heart to offer forgiving to her estranged brother."
(2) "Forgiving is often more beneficial to the forgiver than to the forgiven."
Likewise, in Jessica's example you can switch the words:
“She gave him forgiving for his mistake."
The meaning of "forgiveness" is more precise than "forgiving". Look up "forgiveness" in a dictionary and you will see that it has an exact meaning. "Forgiving", by contrast, being a present participle, just needs somehow to be related to the verb "forgive".
For example, in the following sentence, "forgiveness" cannot be used:
"The victim of the crime was upset with the forgiving of the criminal."
The problem is that "forgiving of the criminal" can express both forgiveness OF the criminal or forgiveness BY the criminal. Who forgives? It is not clear because "forgiving" is such a flexible word.