Heroic altruism and practical altruism.
Everybody wants to do the right thing. Everybody wants to help. But how do you know that your help is helping?
You might see a magazine ad from some charitable organization, there might be a picture of a hungry child holding an empty rice bowl. This is an appeal to the most basic, and simplest, moral decision-making: If you have bread, and another person has none, what must you do? Why, you must share your bread, of course. It is a simple, clear-cut, black-and-white case; and that is the strength of this kind of appeal.
This is heroic altruism. It requires no analysis, no deliberation - only good intentions and action.
It will never be wrong to feed a starving person. But real-life moral challenges are almost never this easy. It's like those idealized problems in first-year physics textbooks where all the pulleys are frictionless and all the triangles are 30-60-90: real life is just never that simple.
The moral problems that life presents you will probably be much harder: the elderly and difficult family member with both real needs and unreasonable demands; the child who needs both safety and independence; the young adult navigating the world of school, work, money, and love; the friend or sibling who may be struggling with alcohol, drugs, or mental illness.
These are not people who are going to be saved by a single, heroic good deed. They are, instead, people that you may be able to help, but only with patience, experience, humility, and wisdom.
This is practical altruism: it sets its sights on what can be achieved, and it undertakes a commitment to learning, through long experience, what course of action enables the best outcome.
When there is a close relationship between the parties, there exists the feedback loop that enables practical altruism - help that really helps. Additionally, there is the possibility of a trust relationship: the beneficiary of the help knows that they can count on this person in the future.
Trustworthy help is more beneficial than spontaneous help, because it allows planning for the future. This is the reason nonprofits encourage you to set up a recurring donation. And when the giver has an incentive to keep providing help, the beneficiary has more confidence. And here we are moving out of a purely something-for-nothing transaction to a mutually beneficial relationship; we are moving out of charity and into interdependence.
From a purely moral standpoint, we might be tempted to think of un-self-interested giving - heroic altruism - as more "pure" and therefore "better". But this is looking only at the intentions, however noble they be, of the giver; it's making it all about you. When you look at what is actually going to help people in the long run, it is not one-sided giving (subject to the whims of the giver), but a beneficial relationship that both parties can count on because it serves both parties and respects the dignity of both. This is enlightened self-interest.