I think it's better to just get them whta you think they would want. That way, it shows that they thought about what you would like and didn't just ask you what you want. If you're going to ask what the person wants, you may as well just get them money. Which is a bad idea because it shows you don't know the person well enough. It's almost turning the act of generosity into an obligation. Like "I have to get you something, but I don't know you very well so I'll give you money."