Great article in Tabletalk, Jan, 2011, pg 46, on what made David great.
"David was a great man because he was willing to overlook others' sins but unwilling to overlook his own."
"David showed himself to be unlike the sons of Zeruiah who lived to hold grudges and settle scores."
"David knew how to forgive, and he knew how to repent, too... he hated sin but loved to forgive it."
We often have a hard time putting holiness and graciousness together. David is a pretty good example of how our Lord does it.