The thing is, it doesn't matter. Money donated for ego purpose buys just as many polio vaccines as money donated for strictly self-less purposes. For some reason, we are taught that donating money should be strictly altruistic action and we get upset when someone is doing it for publicity or whatever. But in the end, it doesn't matter; money is money, and if people can feed their egos (or make their company look good), and charities get money, that's fine. Everyone benefits.