To give is a virtue; be it in the form of a charity or a gift. Man loves to take and hesitates to give, because he always fears poverty. Therefore, charities and gifts have the benefit of purging the giver’s soul and endearing him to others. In Islam, there are numerous exhortations for Muslims to use both means in order to spread love and solidarity in the Muslim community.
Regarding whether giving charity is better than giving gift, Sheikh Muhammad Salih Al-Munajjid, a prominent scholar and author, said:
Charity is given to the poor and the needy to meet their needs. It is done with the intention of seeking the Face of Allah and there is no intention of giving it to a specific person; rather it is given to any poor or needy person.
A gift is not necessarily given to a poor person, rather it may be given to a rich one; the intention is to show intimacy and to honor the recipient.
Thus, both of them – charity and gift-giving – are righteous deeds for which a person will be rewarded. But which is better?
Sheikh al-Islam Ibn Taymiyah said in Majmoo’ al-Fatawa:
Sadaqah (charity) is that which is given for the sake of Allah as an act of worship, without intending to give it to a specific person and without seeking anything in return, rather it is given for charitable causes, such as to the needy.
A gift is usually given with the intention of honoring a specific person, either because you love him as a friend or because you want something from him.
Hence the Prophet (peace and blessings be upon him) used to accept gifts and reward people for them, so that no one could remind him of their favors, but he did not accept the “refuse” of people that they gave to purify themselves of sins, namely charity. He did not accept charity for this as well as for other reasons.
Once this is understood, then charity is better. However, there is a sense in which a gift could be better than charity, such as giving a gift to the Messenger of Allah (peace and blessings be upon him) during his lifetime out of love for him, and the gifts which a person gives to a relative in order to maintain the ties of kinship, or to a brother in Islam. These gifts may be better than charity.
Based on this, if you give a gift to one of your relatives, that may be better than giving charity, as this involves maintaining the ties of kinship. The same may apply if you give a gift to a friend, because that will strengthen the bonds of love between both of you. The Prophet (peace and blessings be upon him) said, “Exchange gifts, you will love one another.” (Al-Bukhari in al-Adab al-Mufrad. Ibn Hajar said: its isnad (chain of narrators) is hasan)
This hadith indicates that giving gifts may generate and increase love.