Giving money may be necessary and helpful, but it's so impersonal that it rarely yields any personal satisfaction and thus isn't repeated often. What I'm advocating is giving of yourself, your time and your own personal effort to something for which you'll get nothing in return. Get out and volunteer! It's very liberating! The harder it is to do, the more it's worth it!
I encourage everyone to engage in some form of (sacrificial) service to others. It's not a "good deed" if you get something other than a good feeling in return. In my own life, it seems that once I agree to do something for someone else, something always seems to "come up" that would give me an excuse to back out of my agreement/commitment. When I forgo my own personal wants to fulfill my agreement/commitment, then it always seems to be the most gratifying. When I sacrifice my own desires, time, and resources to benefit others, it's fulfilling.
Whether you equate it to the movie Pay It Forward or consider it your civic duty, everyone should experience being a giver when it is not reciprocated. It's nice to be appreciated for the effort and work you put into something but just because you may not be appreciated or thanked for something doesn't mean that it was any less of a good deed.

Just in case you're wondering, I'm only advocating sacrificial service in one's personal life. NOT in a professional life. It's great to take pride in yourself and in the work you do, but please do NOT give more than necessary to a soulless company who will show no loyalty to you as an employee.