Ohhhh yeah my sister is like this. EXACTLY like this. I totally feel your pain. To be honest, I've given up really putting in any effort beyond finding out what shops I know she likes, so I can give her a gift card. She's going to complain, is Beth. It won't matter what you get her. I know it's really hard not to let it get to you (I can't believe she didn't like a chocolate cake! It looks spectacular and who doesn't like cake??) when she reacts boorishly to a gift you've given, but just try to remember, that reflects much more poorly on her than it does on you.
Last Christmas, my sister had purchased her first house, after only having previously lived in condos. The house she bought needed a little work, so I got her a gift card to Home Depot. There had to be SOMEthing there she could use, right? Building or repair materials, paint, something decorative, a yard ornament, plants or flowers, something. She opened the card I'd stuck the GC in, saw what it was and said, "Oh, I don't know if I'll EVER use this." If I had to describe her tone, I'd say she sounded snotty. Tired of always garnering this reaction no matter how good a gift I got or how much effort I put in, I leaned across to her and plucked the gift card out of her hands, saying, "Oh, well, I'll have it back then." She latched on to that card like I was trying to take her firstborn, let me tell you. In a puzzled tone, I said, "But I thought you said you weren't going to use it. I don't want to burden you with something you don't want and won't use."
She changed her tone and kept and used the card (of course) though I often wonder if what I did was retaliatory rudeness. Also, I really wonder if she'll remember that this year and what Christmas is going to be like.