Let me say up front that our school collects money from each parent (whoever wishes to contribute) and gives the teachers a monetary gift. I always contribute to that (usually $10 sometimes $20). I get that money is useful, everyone can use it, etc.
However, especially when my kids were in the younger grades, they would get very excited about picking out a special gift for their teachers because they really liked their teachers. I shamefully admit I have given some
Bath and Body Works stuff over the years

. (seriously, though, who can't use soap?

Put it in the teacher's bathroom at school if you don't like it.)
I certainly hope my kids' teachers weren't annoyed that my kids picked out a gift and gave them a nice card.

like some on here seem to be. They certainly didn't seem to be. My kids have received lovely thank you notes from them, usually sent home the same day. Maybe it's okay to give a gift as long as I also gave money.
I'm not a teacher but I was a volunteer Girl Scout leader for many years. The girls in my troop sometimes gave Christmas or year end gifts. I was very touched by the whatever I received. I certainly didn't think, oh, I wish it was a Starbucks gift card instead.