I disagree, but only to the extent that you know the person well enough to know they’ll use it or they explicitly ask you for it. To me, gift cards are a way to alleviate the paralysis of choice and guilt for spending money in certain ways. It’s like “I know you couldn’t mentally justify spending a $100 bill on a high quality set of sheets, so I’m giving you money specifically earmarked for that purpose.”
It’s also sometimes handy if you want to give someone money for everyday needs and know they’d feel guilty or embarrassed about receiving money directly. A gift card for a store you know they go to a lot can be a fairly tasteful gift. Again, though, it’s only worth it if you know they’ll actually use it.
And don’t get those prepaid general purpose gift cards, those things are straight up scams.