I am like Ogre and give cash, that way they can shop wherever they want too. I do get an iTunes gift card for my son and one of my nephews, as they ask for those and I know every penny gets spent.
On a different note, I asked a friend of mine that is the store manager at Wal-Mart about a post I saw circulating that many of returns at Wal-Mart are from the various toys and clothes drives (Toys for Tots, Salvation Army Angel Tree, etc). He said it was unfortunately true. Too many of these parents are already worthless and they bring their kids' stuff back to the store to get the cash back on a store gift card so they can spend it on themselves. He just hopes that in most cases, the parents had a minute sense of decency and let the kids never see the gifts before they were ripped from their hands.
We have always did the Angel Tree for as long as I can remember, but now this worries me. I know that I am doing it for the right reason, and what the parents do after that is on them. Yet, there is that part of me that feels like now I might be getting scammed and supporting some worthless PoS.