Giving in Hindu society can be categorised in three ways: Dakshina, Bhiksha and Daan.
Dakshina is repayment. Bhiksha is alms. Daan is charity. But meanings are often confusing, as people use the same term differently in different contexts.
In Vedic times, poets were given Daan. And poets would compose Daan-stuti in honour of the donor. This was more repayment than charity. Dakshina rather than Daan. Go-Daan was actually Bhiksha, done to earn spiritual merit, especially by kings seeking legitimisation of kingship, and surviving relatives who wished to ensure a better future life for the dead.
Dakshina is basically repayment for goods and services received. Unlike goods, which are tangible, services are intangible and so evaluating their worth is always a problem. In the old days, in feudal societies, the idea of demanding payment for services was restricted to Brahmins who performed rituals, built and maintained temples, and even helped kings set up villages and collect taxes. When Harischandra disturbs Vishwamitra’s yagna, he makes amends by offering his kingdom. So that this gift is not seen as Daan, or charity, Vishwamitra asks the king to give him an additional Dakshina for the service of cleansing him of the crime of interrupting a yagna.
In Bhiksha, the receiver is in debt. So he repays in intangible ways—granting blessings or karmic merit to the giver. This was popularised in monastic orders such as Buddhism and Jainism. Even today, in Buddhist countries, people line up on the street to offer food to the monks who travel with begging bowls. This ritual earns good karma for the donor. Young Brahmin students would also beg for food and offer blessings to those who fed them. In Hindu temples, pilgrims give money to temples and priests and to beggars in the neighbourhood. They call it Daan, but they seek spiritual merit in exchange, making it Bhiksha.
In Daan, the giver writes off the loan. The receiver is under no obligation. Hence, doing Daan was considered greater than giving Dakshina and Bhiksha.