The two things I was going to say about charity have already been said:
1. If you're going to donate money to an organization, then make sure that it's not one where a lot of money goes towards administrative or other expenses that do not benefit those whom the organization is intended to help. The American Red Cross is a good example of an organization that does stellar work in this area - over 90% of every dollar received by donors is used to provide services those for whom the organization was founded. If you're in America, the link sparrow provided
is an excellent resource for this.
2. If you're going to donate money directly to someone in need, then if it's at all possible, don't give them money. For example, if they need food, offer to buy them food. This is for much the same reason as the above: it ensures that the money we give is doing what we would like it to do. Charity is not for us, but to others - therefore, we should not give just to make ourselves feel better, but rather we should ensure that when we give, we truly are helping those in need.
As for which is better to donate to, I don't think it could be said that one is "better" in an objective sense. If you give help directly to someone in need, then the efficiency is guaranteed to be higher than money given to charitable organizations, given that 100% of the money spent goes to those in need. On the other hand, however, the reason why charitable organizations do not maintain that level of efficiency is because some framework of organization is necessary to ensure the proper dissemination of services to those in need. In short, it basically depends on the scope - you can help a single person better by directly giving them help, but you can help many different people better simultaneously by instead giving to a charitable organization that is known to be honest and trustworthy.
And, of course, you don't have to choose - you can always help both individuals and charitable organizations at the same time.