We solve the problem this way. My wife bought gifts for our daughter (5 years) and I buy gifts for our son (4 years). The wish list of children is terribly long, and it changes hourly. I ask my boy what he wants. I choose 2 things and ask him what do you prefer, this or that? He selects a thing as a toy tractor. Then I take him to the computer and show him tractors on Amazon. He looks at it and picks one. I explain that this is the order form at Christmas, or birthday. I order when he sleeps. And then when he gets the tractor, or whatever, he is excited because it's exactly what he had seen in the computer. :)
However, the wishlist has not become shorter. Not really.
It is sometimes amazing what a child wants. The other day he wanted a flying carpet. A remote-controlled dinosaur, it should be later, but not larger than our apartment, please. He often wants things from cartoons and comic books, and I must say, I can not buy him.
Now he comes with pictures in hand and says: "Daddy, I have found something you can not buy me. ;)