Actually, dumb as they seem they're good for a certain kind of person.
If you're dealing with someone who's kind of frugal and feels conflicted about spending money unnecessarily but they aren't actually broke, and you give them cash, they're going to just take it and put it in the bank with the rest of their money then spend it on mundane shit.
On the other hand, if you give them a gift card especially to something like a restaurant or a spa or a hobby shop or something, you're taking the option away from them to an extent, so now they feel more comfortable spending that money on luxuries without second guessing whether they really NEED to or not.
Yeah, it's a little bit of an absurd concept, but people are absurd, so that's how it is sometimes.