Tampa Bay Times did a spectacular job explaining with one table, why I don't cold-donate. I never donate at movie theaters or grocery stores unless it's a charity I know well. I do research on Charity Navigator and online. I think I'm a fairly charitable person. I also think the world is full of contrasts.
I donate to people that have earned my trust. I try to avoid all the shysters. There are great causes that can put a lot more of a dollar to good work than the "charities" in the Tampa Bay Times table.
If you're in a position to do it, be charitable. Even if you're not, be kind.