I'm going to say it again and my point relates to brands.
They (the presenters) love saying buy for a loved one, for an anniversary, for a graduation, a birthday etc.
All valid suggestions.
However, I suspect when buying gifts especially for special occasions, most people ... rightly or wrongly ... want to buy the recipient a brand they will know and/or want.
Most of us will have been there at some point in our life. You open a gift and think 'what brand is this?' and the gift giver says 'the man in the shop said that's a good one.' So you paint on a smile and say 'it's great, thanks.'
Now, the product you've been given might be perfectly fine quality wise. Heck, it might even make you want more of their stuff in the future. However surely most of the time, unless buying for ourselves and not caring about brand, we want to buy the recipient a brand they know?