I really liked Donna Freedman's article Why I gave a guy a dollar on Smart Spending the other day, and regardless of whether you give directly to the person asking, or choose to contribute to agencies that help indirectly, I think it's important to give. What I think may be even more important though in the case of people on the street asking for money is to at least acknowledge their presence. As far as I'm concerned they have the right to ask, we have the (equal) right to say no, but we don't have the right to just walk by and pretend they don't exist. I have to admit that whether I give money on any given day will depend on how much I've got, what I still need to do with it, my mood, and my reaction to that particular person. What I do try to do though if I decide not to give is to at least look them in the eye, smile, and say "I'm sorry, not today." I have yet to get an angry response and will often get a smile back, or a "Thanks anyway."
Giving, in my opinion, is important for any number of reasons: to show gratitude for what you already have, to show kinship with your fellow human beings (or other living creatures), to acknowledge the fact that any one of us could end up in a similar situation, and simply because it's the right thing to do. I also think it's important to give no matter what your financial situation, because there will always be someone worse off than you. And while I personally like the idea of tithing (giving away 10%), I don't believe the actual percentage matters as much as your intention. If fiscally you can only afford to give away 1%, then in my opinion that is better than giving 10% when you can easily give away 30%. Giving is also easier when it's automatic and you have it deducted from your account at a predetermined time. That also ensures that giving becomes a priority, rather than something you may or may not do depending on how much is left. Of course if money is so tight that you absolutely can't give any of it away, then give of your time instead as time is money as well.
Finally, if you're going to give, then just give. Sure, do your homework if donating to specific agencies and try to find out how much of the money actually goes to the population it's supposed to help (if too much of a percentage is earmarked for administrative purposes then donate elsewhere), but if you're handing over cash to someone on the street, then just give. It's up to them now how they're going to spend it as you've fulfilled your side of the equation by giving.