I too have worked with this sector of society for over 20 years.
In many cases the lack of responsibilities and carefree freedom becomes an ingrained attractive lifestyle. Sure nobody want to be cold and hungry but I think the communities with the larger populations of homeless do an incredible job, ensuring that adequate shelter and food is provided during the more extreme weather conditions. Not many starve or die of hypothermia up here and we have big problems in the larger cities.
I've seen suitable jobs offered to homeless people that they've turned down as well as shelter that is refused. We have a very generous welfare system that many take advantage of only to find out that rent is never paid, minimal job search requirements are not met and/or basic life skills help is not taken advantage of.
But please don't get me wrong, there are some pretty sad stories out there. And with those sad stories comes a tremendous amount of help. The success stories are also many and even more heart warming when you've had a hand in turning someone's life around.
If I come across a particular situation that actually grabs my heart (not many these days - you get jaded pretty quick when you've gone above and beyond in advocating for a true scam artist), but if they're trying to get my attention, I will stop and interact with them in highly public areas like Walmart (where many of them hang out - more folks that can empathize with their situation).
I think they bank on the quick buck and folks being too busy to take the time to find out what's really going on for them. A few strategic questions of interest can have them moving on quicker than you if their story isn't a good one.
One of the biggest complaints from the homeless is that they feel invisible, they feel that nobody sees them. Personally I think it's more that they're not getting enough people to stop and give them money. They want to be seen and heard.
Let them know how you feel. Wow, it must be hard living on the street, how long has it been for you? What's the coldest weather that you've slept in? How did you survive that? What's your dog’s name, how long have you had him? Times are tough right now, when was your last job? What is it that you do? You're asking me for money and I'm sure you can appreciate my concern with just handing my hard earned dollars away, can you tell me a bit about what got you to the place you're at now.
Make them earn that dollar and often you'll get a really interesting story. Don’t just hand that loose change over.
Being in the business, I'm full of a tremendous amount of resources. If you've got a soft spot for these situations, it might be worth your while to familiarize yourself with the resources in your community - contact your nearest welfare department.
Depending on what the needs of the individual are - medical attention, dental, a bath, food, housing, community support groups, etc. you may be able to offer up something more than a dime and really make a change in a person's life, that truly needs and wants it.
Ben is right, simply giving them a dollar is the worst thing you can do. Any behavior, especially one that's monetarily reinforced, will most certainly be repeated.