It seems to be the problem in every country. The rich have millions to give and the poor can't make ends meet.
You are right. They do it in order to do "good deeds", a trend almost all rich people (celebrities especially) do in order to "appear" as compassionate and humane to the masses. But no matter what arguments we could give, in the end, it's their money to donate, regardless of whether or not it's self-serving.
It happens everywhere and with other things, too. Look at how much money is spent on the opening and closing ceremony of the Olympic Games. Really, it's go nothing to do with sport as such and could be money spent on far better things.
It's not really a worthwhile way of spending money.