I don't give people cash because I assume they would do exactly what I would do when I get cash, which is stick it in my wallet and use it to pay for mundane things like gas and groceries and stuff... and then before I know it it's gone and it's like I never even got a gift...   Giving them a gift card to a store that you know carries things that they like (i.e. best buy for electronics/media lovers, or Victoria's Secret or The Body Shop for the girly girl in your life) ensures (okay, maybe not ensures, but increases the chances at least) that this person that you care about is going to get a nice little splurge that they might not have given themselves just becase they had a few extra bucks in their wallet.
Why do people give gift cards as presents, when the receipients would most likely rather get cash?