I'm kinda a pushover, so I play this argument in my mind to avoid being pressured by homeless people:
If you believe you have an obligation to help destitute people, then consider your choices. You could donate to a charity organization that you have taken some time to research. That way, you know that your income is being used effectively. Conversely, a person in the street—no matter how persuasive they might be—has no proof that they're going to do what they say (with your money). If you're going to spend, say, $100 on homeless people per month, it's clearly better to give it to a dedicated charity than to distribute it randomly to people on the street.
And if you don't donate to such a charity? Then, given the limits of your income, you do not want to help homeless people (at least directly: your may want to end homelessness using public initiatives, but that's not really important). That fact may be uncomfortable, but you should acknowledge it—don't let a stranger take advantage of your cognitive dissonance. In any case, the point is that you should budget your resources beforehand and decide the most effective course of action, rather than make a spontaneous donation on basis of somebody tugging at your heartstrings.