Well I'll tell you a story.
A friend of mine when she was in college had to get around on crutches for about a year due to a bad knee injury. At the time she went to school in downtown Chicago, she lived in the dorm there during the week and took the train home to the burbs on the weekend. One Monday morning she takes the train into the city. Once at Union station she gets off the train and while trying to walk with the crutches and carry her school bag (books, laptop, papers, etc.) she trips and falls flat on the floor, stuff and crutches flying everywhere. Nearby were a few homeless guys (they all hang in the station in the cold weather, to stay warm and beg from the commuters). While all the well-dressed-well-off commuters ignored my friend sprawled on the floor, the homeless guys came over, helped her up, picked up her stuff, and made sure she wasn't hurt (and no, they weren't trying to steal from her, pick her pockets or anything like that).
Were they begging? Yup. Were they using most - if not all - of the money they begged on alcohol or drugs? Most likely. But they stopped and helped where others couldn't be bothered.
On her way back through Union that Friday (on her way home for the weekend) she saw the same guys. She stopped at McD's and got them food. They remembered her and thanked her for thinking of them.
So my thought is that if I have a spare buck in my pocket, it's no skin off my nose to give it to someone else. Maybe it helps, maybe it doesn't. Maybe the person I give it to is the type that would help someone like my friend, maybe they aren't. But I have no way of knowing, and I don't need the dollar. I can see not giving to an agressive begger (that would bother me!) but a person with a sign and a cup? Sure.