Or it's like you're saying: "You haven't given a lot of insight on what you want this year, or maybe I just don't have enough money to get you the things you do want. But, I know you shop here a lot, and I know you'll put it to good use. Here's a gift card to [Store]."
While true, the only redeeming quality of this gift is that you know where this person shops. Giving them money instead would be like saying: "I know you really like to shop at Forever 21, but instead of limiting you to that one store, here's $30 you can spend on whatever you want, wherever".
The only reason people think gift cards are a good gift is because you have to leave the house to buy them. Plus they look nice and proper.
If somebody gets me an actual gift, it shows me that they actually tried to buy me something I will use and/or like. It shows a thought process behind it, consideration, and time taken out of their day to find that particular gift. A gift card is more like: "Eh, this is too much work, you figure it out".
It can be a good and useful gift, yes, but I expect to get something like that from somebody who doesn't really know me that well. A colleague at work who knows I like to hike so they got me a MEC/REI gift card. From close friends and family I would appreciate gift cards as gifts, but they feel so "I don't really care enough about you to put more effort into this, you figure this out"
Just money is useful but lacks target.
In some cultures giving money is pretty standard, which I have never been able to get used to. In Germany you would often get a chocolate bar with a 10 mark bill taped to it for your birthday. I got used to that, but I could never get used to what Italians do, for instance. At Christmas time everyone just gets everyone else money, except for the little kids I think. So.. You give out money, you get money, and in the end you end up back at $0. Seems like a worthless exercise to me.