In my opinion, it really depends on who you are giving a gift card to, and in what situation. For example, I think it is a very bad idea to give a gift card to a boyfriend or girlfriend, as it implies you didn't put too much thought into the gift. Since they're your boyfriend/girlfriend, you should know what they want!
If you are finding a gift for a close friend and they're always saying "it doesn't matter what you get me", or "I don't know what I want", then a gift card is probably your best bet.
In my situation right now, I have several gifts to buy; a few for my family, and a few for my friends. For my siblings, gift cards may be appropriate because they never indicate what they want. For my parents, probably not, since it would probably be more appropriate if I put more thought into what they need and want, as they would appreciate it much more (whereas my siblings would probably just want gift cards so they can choose themselves).
For my friends, most of them are into video games, computer related stuff and such. It is tough to decide what to get them most of the time, because I don't know exactly what they want... a console game? a computer game? a tech gadget? shampoo? Personally, I don't want to just give money, it just seems wrong to me, and they just tell me "just get me anything". So for my friends, I might give them either a mall gift card, or maybe a Best Buy gift card. Since in my area, there are many Best Buy stores around, it makes it convenient for me and for my friends if I get a Best Buy gift card. I guess it depends which one is more convenient for me to get to. My friends will appreciate it since I suppose they aren't high maintenance, and it saves me lots of stress too.
There are many options you can choose to take, but really be careful who you buy gift cards for! Some people like it, some people don't. Even when deciding to get a gift card, make sure you buy it from an appropriate store!
Happy gift(card) shopping!