I do hate it when people are given "junk" gifts. When someone is close to a person and they want to give that person a gift, they should, I think, find out what the person wants and then try and get them that...and I certainly think they should take the time and the effort to perhaps take the "giftee" out and let hir/hem choose that gift. To tell someone, "Go and get something for X, it's her birthday/anniversary/whatever tomorrow"....no, that's not acceptable. The person concerned often gets a gift which s/he neither likes nor wants, and apart from the abstract feeling (which is not a comfort) that the person giving the gift has at some point thought of hem, there is no personal feeling to the gift, either.
And it's even worse when the gift is a very costly one....and MUCH worse when the gift is costly AND not good, and the giftee knows that for this X amount of money, s/he could have got something far better. The sense of unhappiness just increases. It would have been better to say, "I didn't have time to get a gift for you...let's go sometime this week and you choose what you want to buy."
Gifts need a lot of thought....and there is an art to giving them.