
Yes, good question. I love buying gifts for people. Well, it's shopping after all and this is a great excuse.
What scares me many times is not being able to find the 'best' present. Sometimes I spend hours in shops. (Record was 2 hours spent in Toys'R'Us looking at only two shelves back and forth, so go figure!)
I never leave home without knowing what I want. Of course, you can get ideas in a shop, but sometimes you waste time instead of actually using it to choose the right gift.
How do I buy presents?
Well, you can always ask the person directly what he or she wants. It's safer. But gambling it is for fun, especially if the receiver loves it.
Some good time before the event I usually gather clues. I know what the person likes and I know her/his interests. Then I try to figure what she or he doesn't have and might want.
I usually rely on the last conversations we had.

I try never to buy clothes for women. Fat chance they fit. But if your friend has the same size as you do, then you might want to go for it, anyway.
If someone likes earrings, buy earrings and choose the style, the color, the format that matches her. If she likes books, make sure she doesn't have that already. Safest tip: go for an album or an encyclopedia of some sort that she would like and would not spend money on.
I have bought even plates for my best friend and she loved them.
Never buy useless things. Buy something that she does not have enough of. Buy something she or he could always make use of. Maybe a decoration piece which she wouldn't hide in the closet when you are not around.
In terms of perfect gift, the sky is the limit.
Buy something she can use in her home - I bought coasters and matching wine-box, for example. She bought for me a pirate book. I bought games - Dungeons and Dragons. I bought puzzles.
Cups and candles, no matter how much fun and unless asked for show no initiative. They are the kind of presents you just buy for the sake of buying. Don't do that.
I bought pops and candies when I went abroad. I bought ethnic pottery.
Once I got a very expensive elephant made of ivory. I hid it because while I liked the elephant, I hated the idea of killing elephants to make that piece. On the other hand, if you hide it, you think the poor thing was killed for nothing... So I wish I had never received that present!
I do not like flowers which have been cut. I like plants in pots only. I like presents for my cat.

Anyway, before you buy something you should do your homework. Interests are the number one clue. And rely, like I have already said, on previous conversations.
If your very good friend has told you two months ago that she would love a pair of handcuffs but does not have the guts or did not have the time to buy them, why don't you do it?
The new album of his/her favorite band is out. Grab it before he/she does and warn them if you want about it.
My Mom expressed her interests in miracles and religious issues? I bought her a book on orthodoxism.
My Dad drinks a mug of coffe in the morning but does not have his own. I got him one. He is interested in mysteries and the masons and so on... Bought him a book on that.
When I went abroad I knew he needed a new scarf: I got it a scarf and a sweater on a color that makes him look good.
My cousin loves games: the newest release in the series! And a bunch of tshirts and sweaters.
My aunt loves collection spoons. Easy present.

What do you do though when you buy something for someone you don't know much about? Classic buys: vases, crystal or expensive ornaments, Brand sets of perfumes and creams (try to pick the one you have heard a lot about and which is not too sweet or fresh). Noa and Anais Anais from Cacharel are safe buys.
So... the list is huge.
Pictures from:
thelilyshop.co.nz
www.zengyo.com