Gift cards, are very well liked by many children or adults.
Some people are just very hard to shop for, even if you go to their favorite store.
So, yes, gift cards are fine!
I have, many times, along with my daughter (who is 9), shopped for gifts for her best friends. We, after much effort, found a gift for them. Based on their interests, etc. BUT then... so the friend, never even uses it nor wears it, nor plays with it, and it is just, 'useless' then. Meanwhile, money and much time, was spent on it... by both my daughter and "me" because, I took my daughter shopping for her friend's gift(s).
To me, that is SOOOOOO wasteful. Sure, we put a lot of thought into the gift that was bought. And went to many stores. But in the end, the child/friend doesn't like it nor uses it etc. So to me, that is a huge 'waste' of time and money.
Even my daughter, realizes that.
So now... for those "picky" hard to shop for friends, we get Gift Cards.
That... is most useful, for certain people/kids. THEN that way, they can get what THEY want.
Also many times though, I know people who have gotten Gift Cards (from stores/restaurants they do like), and they STILL have never used it and 1 year has gone by already.
So.
What a waste... of money. And time. And thought.
In a nutshell, that has been my experience.
Personally for myself, I prefer gift cards. Because... otherwise, no one (my family/relatives), gets things that I actually like or use.
To me, if you are going to buy say a cute mug filled with snacks.... well, that could cost $10, and for me, why not just buy a $10 gift card instead? Its more useful.... and people have lots of mugs, anyway.