Cash every time.
Cash can be stored in a bank account for safe keeping. It can be combined with other gifts of cash, and it can be spent anywhere. It doesn't come with terms and conditions and scammers can't steal the value of it without you noticing until it's too late.
Gift cards are restricted to one company, may come with terms and conditions, may have time limits, and are vulnerable to scammers siphoning off the value before the recipient gets to use it.
I remember as a teenager gift cards always seemed like the gift that kept on taking. I might get a gift card to a local record store (this was back in the days when record stores still existed), another gift card to a different store and maybe a book token that could be used anywhere that sold books but only to buy a book. None of the gift cards were enough to buy what I wanted but they couldn't be combined, so in order to use any of them I had to add extra money. The local record store was a place for teenagers to hang out but their prices were high, so on the rare occasions I bought records I got them elsewhere.
More recently an old friend of my wife's decided we needed a gift card to a local chain restaurant, so one showed up in her birthday card that year. And it was a nice gesture, except that we hadn't eaten at that particular chain for years because the quality wasn't great, and using the gift card cost us the difference between the card and the final bill.
It always seems a shame to have a choice between wasting the gift card entirely, or having to put up more than the value of the card to get the value from it. I forget the statistics on gift card usage, but apparently some startling percentage of them never get used. Of course the stores are happy with this - they get the cash up front and never have to deliver anything at all, from their perspective it's like selling $50 of value and getting $60 for it.