"If you are walking by a pond and you see a child drowning, do you save her? What if it means ruining a very fancy pair of Italian shoes?"
Okay, if we assume the answer is yes, then why not spend the cost of those shoes to save 20 kids who are starving to death across town or the world? There's really no difference. Or by, extension, invest in research or development that solves a problem forever... The issues are proximity and attention.link
My take is that most people would instantly save the kid, but given the choice, probably wouldn't take the road by the pond again any time soon. We like to avoid these situations, because these situations make us uncomfortable