I like the idea of giving gift cards, except for two things. One, the recipient knows how much you spent. Two, you can buy the things at the grocery store.
Everyone likes getting them, so I can get over the lack of imagination shown by giving them. But I don’t like the lack of effort that is conveyed by giving something I grabbed next to the checkout line while buying breakfast cereal.