Reality is never so cut and dry, from schizophrenia to getting on drugs as a child, to mentally escape the realities of their situation, few poor actually choose their lot in life. The problem with giving to beggar is not that it reinforces the behavior it is that it generally so insignificant that it does little to help them pull out of their situation. Let's face it $10, $20 even $300 bucks is not going to help change that persons life. They are so stuck in a pattern of habitual poverty that it takes more than money to help them correct their course. They have to unlearn being poor, because poor is not a marketable skill. Some are even too far gone for that, either through mental deficiencies, or habitual behavior some may never be able to be rehabilitated.
But one thing is certain, not given them a couple of bucks, is not doing them any favors. Even if 10 of them use it for booze and drugs, that 11th one that you give to and feeds her kids for the night is worth every penny that the others use to chemically escape their realities. I can't say that if I where in a similar situation that I would not drink and drug myself out of it. Which goes to show, that not even they want to be in their situation. Anybody that critically analyzes the situation would come to a similar conclusion.
Putting it all of the poor is just a way to walk away and feel good about ones choice of doing so. There really is more honor in just admitting that they can't be bothered to provide for the poor. They earned their money and have every right to use it how they see fit, but those that hide behind justification and villeinization are particularly contemptuous, because the attitude is infectious and poisons the mind of others that may have given.