I try to let DS pick and make it clear that this is for XYZ. I may steer him towards the correct aisle: his teacher/grandmother may prefer some jewellery/chocolates to lego (and I can veto on price). He takes the suggestion and picks something for that person. They either like what he picks or are polite enough to say they do.

BUT I have a child who loves giving nice gifts that "make people happy" (in his words). So I have few hassles with him wanting to keep the thing or not taking suggestions. I can completely understand why other parents would not do this.