I prefer being asked what I would like- I'd rather that and have it be less of a "surprise", then end up with some knicknack I'll never use, or piece of clothing that's completely not my style, that I won't ever wear.
As for the "You have to guess what to get me, and heaven help you if you guess wrong" types, I wouldn't want to give them gifts either. It would be money in a card or a gift card, and if they complained, I hope I wouldn't get sent to E-Hell for telling them why. "Look, when I try to pick something out for you, it never seems to go over well, so this way you can get exactly what you want."
And if they continue to complain, then no gifts after that.