Better at what? Giving gifts
You have this question listed under "gifts and gift giving, personalized gifts". Most likely your best friend will know exactly what you want.
On the other hand if you are in a long-term relationship your boyfriend/girlfriend would also know you inside and out. In fact in an ideal situation your mate eventually becomes your best friend.
The person who knows you the least is likely to strike out with you when it comes to giving you gifts. However if you're "in love" you'll appreciate whatever he/she does give you.