A gift has its spiritual meaning
There are many people say that giving presents should not be encouraged, because people do not like or want, and this leads to be wasted of money. Actually, there are a lot of people who love and expect donation- and it's not always that buying a gift is bad- this means that wasting money happens in a few cases.
I agree that it'll be a waste of money if you give a present to wrong people or somebody you force to do it. This means it's just a custom. In this case, the gift has no meaning because you spend much time to find out and choose it, but the receiver maybe do not like or want it. This should not be promoted nowadays.
In fact that the present has only just been given to the special on big holidays or anniversaries- birthdays, Christmas, New Year, weddings, etc. How much you are wasted of money when they are your important people. For instance, on the birthdays of your children, they will be waiting for you every single hour until you give them at least a present. For another example, in your friend's wedding, should you take her or him a gift like a souvenir of close friendship or cash? I think your friend would love to a gift instead of money. He or she will remember your gift which you spend on time to choose for them than any else.
Summarily, giving a gift should be encouraged continuously due to its spiritual meaning. It reminds the best time when they have together in their lives.