Plus a good business can often get better returns by reinvesting profits than its investors are likely to get on their own. Investors always have the option to sell shares when they think that's not the case.
Yesyes, not funding a better society is myopic. We should totally expect the rich to be altruistic once they have enough cash.