The problem with presents is that you’re never going to do a better job of satisfying the gift-recipient’s preferences than she could do herself. But preference sets aren’t fixed. If someone had handed me $10, I never would have spent it buying the Cults album, for the simple reason that I hadn’t heard of the band. When it was given to me, I immediately checked it out and loved it. When you step outside the circle of things you know for sure your gift-getter likes, you risk creating a massive deadweight loss. (You give her a ticket to Las Vegas, without knowing that she hates gambling.) But with the greater risk comes a greater potential reward. You may introduce the recipient to something marvelous she would otherwise have never encountered. Giving stuff rather than cash is a way of saying you know better than the recipient what she really wants. The riskier the present, the more likely it is to generate significant benefit. (So, not a sweater.)
Meanwhile, David Bry has a screed over at The Awl against gift-giving at all:
Why do we buy each other gifts? Why do we go to the trouble? So everyone can have to fake more excitement and gratitude than they actually feel upon opening them? “Oh, thanks for this book I told you I wanted that I could have just as easily bought for myself! Thanks for these gloves, this blouse, this bottle of wine. I’m so glad to have this pile of stuff to pack into the car or check at the baggage claim when I could have just bought it on my own time nearer to my own home, or even had it delivered directly to my door. Here, I got you something, too.” It’s like we’ve all entered into this mutual pact that makes everybody's lives a little bit worse.
As for me? I think there's nothing like a thoughtful, valuable-but-not-too-expensive gift. But most of the time, gift-giving does tend to be a socially and psychologically burdensome task. Caveat emptor. Especially if you're giving it to someone else.