I have had many problems with receiving gifts that I didn't need, just like the article above mentions. Don't get me wrong, I appreciate said gifts. It's nice to know that someone thought about me when they bought me something, even if it was something I didn't need or didn't want. Regardless, I make it a point to tell family and friends to just get me cash or a gift card, particularly to a book store (because, to be honest, I enjoy buying books more than any other commodity, which is why one wall of my room is covered in books from the floor almost to the ceiling).
So, perhaps a good word of advice for people who "think" they know what to buy a friend would be to just get a gift card to a store you know they shop at. If your friend goes to Borders a lot, then get a gift card there, and the same goes for Target, Walmart, and all the other stores you can think of (heck, even nifty local places sometimes have gift cards). Even better is to give cash to a friend whom you know could use it. Granted, gifts shouldn't be given to pay off debts and what not, but giving someone cash allows that person to make their own decisions on how to use it (and I would caution you to telling them, "Oh, this is so you can pay off your credit card bill", because that would probably tick them off).
Some people think that gift cards are lazy, thoughtless gifts. There is some truth to that; after all, some people get gift cards at the last minute and hand them off like they're the best gifts ever. For me, gift cards are the best gift because it allows me to find the things I want rather than having to deal with all the stuff I would get otherwise that would end up never getting used.
So, get your friends and family gift cards. Seriously. It's okay.
(Don't click the read more, there isn't any more after this!)