When I was in college, my advisor had on occasion done some favors for me, usually at minor cost, and made sure I understood that there was no need to pay him back. His logic was sound: "Eventually, you'll do the same for others."
A decade later, I found that he was right. Whether it was the kids I was coaching or my younger friends, it never seemed like a big deal to buy someone a meal or help them out with some kind of time consuming favor. It made sense that if I'm in a position where I can help someone, I should. Many others did the same for me. In a general sense, looking out for other people feels good, whether it's in the most serious of relationships or casual acquaintance. And frankly, it's feels good to receive help, too.
It's not purely a social thing, either. Professionally, this is critical in almost any line of work. It was a lot more common when most people were doing a lot of blue collar trade work, but somewhere along the line we reduced the transfer of knowledge in most other professions. I don't know if this is the result of people thinking it reduces their competitive edge or what, but it's totally counter to what, in my experience, yields higher success (working with smarter people should almost always work in your favor).
Today I did a couple of talks at a fantastic event run by the local user group. The event was totally free, and attended by more than 800 people. Sure, this kind of thing is always good for your reputation and networking, but to me it's also an investment in your profession. I complain a lot that it's hard to find good people to hire, so I'm obligated to help people get better at what they do.
Yeah, it all sounds very circle-of-life, but giving back something really is the thing that moves us forward. As I said, sharing knowledge or helping younger people out is critical, because at some point in your life, others did the same for you. The world gets better.