Even though Moshe was designated the saviour of the Jewish people, the first three makos, plagues, were performed through Aharon. Rashi explains that since the river protected Moshe when he was cast into it as a baby, it would be improper for him to smite it. Therefore the makos of dam, blood, and tzefardea, frogs, were performed through Aharon. Similarly, Moshe did not strike the earth to bring forth kinim - lice. This was because the earth had "protected" him when he killed the Egyptian and hid the corpse in the sand.
This was evidently a show of appreciation. It would have been a lack of hakaros hatov, gratitude, for Moshe to harm the waters or the earth. To paraphrase Chazal: "Do not throw stones into the well that you drank from." (Baba Kama 92b). However this needs clarification. Rav Dessler wonders how water could possibly provide protection to Moshe. After all, inanimate objects have no volition. (They may, of course, be used by Man in constructive ways for his benefit.) There is an even more basic question. Since water and sand have no feelings and emotions, it is hard to imagine what benefit they received when Moshe abstained from hitting them. In any case, they were struck by Aharon. What difference did it make to the water and the sand that the makos were initiated by one or the other. Lastly, Rav Dessler notes that the purpose of the makos was to show that Hashem rules the world and that He punishes those who defy His will. In this sense, the water and sand were vehicles of sanctifying Hashem's name. Obviously this is to their benefit.
From here we see that the purpose of hakaros hatov is not only for the benefactor, but also the recipient. We must recognise all the good that we receive even if the kindness was not done for our benefit, and even if the benefactor does not know that he actually helped us. Even if it may not be in the best interests of our benefactor, we must not act in a way that denies we are the recipients of chesed.
Rav Hutner zt'l, points out that the Hebrew word for thanks - toda, also means to confess. He explains that whenever we express gratitude we are also making a confession. We would all like to be self sufficient but everyone needs help at some stage. When we thank those who assist us, we are also admitting that we could not have managed on our own. The same principle applies when we thank Hashem. It is human nature to consider our accomplishments as the result of our own hard work. We think we are in control. But when we sincerely express gratitude to Hashem we are admitting that it is He who runs the show. We are not really in control at all.
Yet sometimes we are kafoi tov - ungrateful. We fail to acknowledge that we needed the help of a friend because this would be an admission of weakness. More seriously, at the root of this, lies a lack of gratitude to Hashem. We find it difficult to admit that He has the ultimate control over our lives - that our need for help and the shaliach (messenger) who is able to provide that help are all part of His master plan. From this we can appreciate the words of Chazal: "Whoever denies the good that he received from his friend, will in the end deny the good of Hakadosh Baruch Hu."
When we stop and acknowledge the constant flow of Hashem's kindness in our lives, we should also understand that being on the receiving end of a favour is nothing to be ashamed of. Moshe Rabbeinu had no qualms about demonstrating in a tangible way that he was grateful to water and sand. How much more so should we be grateful to our benefactors not only for their direct help, but more importantly because the very act of expressing hakaros hatov fosters an awareness of our absolute dependence on Hashem.