If I were to give a gift to someone, first I have to analyze their interests or likes & make sure to buy something he really 'need' instead of want. One of my friends, he fancies a lot of things from branded clothings, perfume lines or gadgets. But obviously I can't afford to buy those and it's a bit too much.
But then I realized something from him, he first said to me: "Sorry i was late. I had to fix the door knob at the house." And it kind of becomes a recurring thing for him to do every couple weeks or so - sometimes when I ask him what did he do during the weekends etc. Mostly it has do something with house work.
So I bought him a mini tool box. Of course, he gave me weird reaction when I gave it to him

But then, next thing I know he told me how extremely useful the box is and he's been using it always. It feels great to give a gift that is actually being used regularly. And i suggest you start finding littlest things about your partner so you can find a great gift.