Charities help a lot of adults and children in unfortunate and devastating circumstances and if it makes the person feel good about themselves by donating, it's icing on the cake.
No, it's mainly about getting the tax deduction. Hopefully people give that money to worthy charities, not ones that have "operating expenses" that run in the middle 80% range.
It is better to give than to receive. You need to do things for people. Self-esteem, the ability to like yourself, only comes after you've done something that makes you likable. You can't bs yourself. No matter what you tell yourself or what slogans you memorize about how everyone is special, you'll think of yourself as special when you do something special.
If you think you're special when you haven't done something special, you're not healthy and well-balanced; you're a narcissist, disconnected from reality. Amateur philosophers who try to instil "self esteem" in people are teaching them to disconnect from reality.