According to this piece, giving - giving to charity, giving blood, etc - makes people happy. The writer assembles some evidence for it. He then goes on to ask why giving makes people happy.
The surprising conclusion is that giving affects our brain chemistry. For example, people who give often report feelings of euphoria, which psychologists have referred to as the "Helper's High." They believe that charitable activity induces endorphins that produce a very mild version of the sensations people get from drugs like morphine and heroin.Even if it's true about the brain chemistry, there's something insufficient in that answer. Adapting an example from Robert Nozick (for a summary, scroll down to 'Feelings and More Feelings' here), let us suppose there was a tablet that could be taken by those intending charitable donation and which would give them exactly the same feelings of happiness as would their making the donation. I don't know precisely how many, but plenty of them would want to go ahead with the donation rather than opting to take the tablet. Either there are other features of their being made happy than the brain chemistry changes caused by the sheer act of giving, or they have other reasons for giving than just wanting to be made happier. (Thanks: E.)