The "official" start of the Christmas season is here, and you know what that means: rampant commercialism! 5 AM sales, crowded mall parking lots, and frilly and sparkly red and green things that have already been filling store shelves since October August. 'Tis the season, I guess.
Anyway, odds are that you'll be buying gifts for somebody soon — if not for Christmas, then for a birthday or graduation or wedding or some other special occasion, unless you've achieved a level of social awkwardness that most of us can only dream of. Shopping for gifts is usually tricky, because you have to guess what to get people. Or at least that seems to be the popular opinion. Personally, though, I have no objection to gifting money, because it's actually mathematically better.
Let's say you're going to buy me a book (because I did you a huge favor last summer, and what happens in Vegas stays in Vegas, and shut up it's a hypothetical scenario). Suppose you spend $25 on this book. I'm certainly going to appreciate the thought, but there might be only an 80% chance than I'm going to like the gift. So effectively, there's a 20% chance that you're giving me nothing. The expected value of your gift is only $20.
If you give me a $25 gift card instead, it's overwhelmingly likely that among the thousands of books at the bookstore, I'll be able to find one that I know I'm going to like. So on average, you're giving nearly the full value of that $25.
The only thing that makes the expected value of even a gift card fall short of its printed value is the chance that I won't be able to find anything at the store that I can use. That's why cash is so useful: it's completely unrestricted. You can use it for anything, so there's no chance of you losing its value by being unable to find something to do with it.
And if anyone complains about how you haven't put any thought into finding something for them, just say you're giving the gift of versatility, the best one of all.