I'm terrible at gifts, but I'd never give cash/gift cards (cash that expires and you can only spend in one shop)
The point of a gift is to show that you understand your friend/family member and have spent your own time to try to make them happy
For a co-worker you should probably think a bit harder
In some places, gift cards cannot legally expire. Other objections still apply, but fortunately not always that one, which I agree is gross.
I'm terrible at gifts, but I'd never give cash/gift cards (cash that expires and you can only spend in one shop)
The point of a gift is to show that you understand your friend/family member and have spent your own time to try to make them happy