I hate these sort of cop outs.
Yes, not everyone is amazing at sourcing incredibly unique and wonderful gifts but there is a line that you shouldn’t cross.
Buying someone absolute shite every year (or nothing at all) is just so selfish. Especially when the giftee has given very affordable suggestions (eg a single novel).
It’s not as if OP was asking for a diamond necklace or something. She wanted a book. Something that her partner could have found on Amazon within 10 minutes and purchased, arriving to their home.
It’s so depressing, even more so when the partner in question only has one person to buy for (compared to the numerous relatives/friends the giftee often buys for) and they still get it hugely wrong.
If he wanted a wildcard gift he should have got her something she asked for or at least he knew she 100% liked.
I also hate this mentality of everyone should just be grateful for any gift they’ve ever received. If something genuinely thought out but just wasn’t along the right lines, that’s one thing. But why the fuck should anyone sit there on Christmas Day after they’ve even given an absolute shit present (that’s clearly for himself) and pretend to like it?
He didn’t give a fuck when he bought it. Why should OP?