Before doing many mitzvos (commandments), we are required derabanan to say a blessing. Why is this not the same for giving tzedakah (charity)?
Great question. A writer from the Houston Community Kollel has surveyed historical answers to this famous question (here)
(1) The great medieval commentator Rashba (1235-1310) in his Responsa (1:18) offers the following rule: Any mitzvah which is not entirely in the hands of the one performing it, as it requires the participation of another person for its fulfilment, e.g. the mitzvah of tzedakah which requires that a poor person accept the charity for the mitzvah to be fulfilled, no blessing is recited before performing it. [The logic behind this rule could be that if the giver recites a blessing and then the poor person refuses to take the tzedakah, the giver will have uttered a blessing and G-ds Name in vain.] BTW, this rule also explains why no blessing is recited before the mitzvos of Honoring Ones Parents, Visiting the Sick, and Returning a Lost Object.
(2) Rabbi Elazar of Worms (c. 1176-1238), writes in his Sefer HaRokeach (ch. 366) that the Sages did not ordain a blessing before any mitzvah like tzedakah, which is based on logic and common sense and is therefore performed by non-Jews as well. The reason for this rule is because the entire purpose of our doing mitzvos is to sanctify ourselves and to help us lead more elevated and spiritual lives than those around us - as we say in the standard form of blessing before performing a mitzvah: Who has sanctified us with His commandments. However, when performing a mitzvah that is also performed by non-Jews, as in the case of tzedakah, our sanctification as Jews is not readily evident and thus no blessing is recited.
(3) The Avudraham writes that the Sages did not ordain a blessing before the performance of a mitzvah which involves another persons pain. A poor person often feels pained and embarrassed to have to receive tzedakah, and it is improper and inappropriate to recite a blessing at another person's misfortune.
(4) The Maharsham (1835-1911) in his Halachic commentary Daas Torah (YD #61) writes that we don't make a blessing before performing the mitzvah of tzedakah because it's really not our money to give away. We are just agents of G-d who are holding the money that G-d gave us for safekeeping until a poor person comes along and G-d commands us to give it to him. As King David is quoted as saying in I Chronicles 29:14: "For everything is from You, and from Your hand have we given it to you". We thus don't recite a blessing on the act of giving tzedakah since G-d is really doing all the work, not us.
(5) Other commentators suggest a more practical reason why the Sages did not ordain a blessing to be recited before giving tzedakah to a poor person. They were worried that the poor person to whom we give tzedakah might be a cheater and not as poor as we think, and then no mitzvah will have been fulfilled and the blessing will have been made in vain. Unfortunately, the Jewish people have had a long history of cheaters living among us who masquerade as poor people but in reality are quite wealthy. As Rabbi Elazar is quoted in the Talmud as saying well over 1500 years ago (see Kesubos 67b-68a), Come let us be grateful to the cheaters, for were it not for them we [who do not always respond to every appeal for tzedakah] would be considered sinners every day [but due to the many cheaters out there we are off the hook somewhat].