It's probably more fun for me to buy a gift, wrap it and deliver it in person.
It's probably more fun for the recipient to receive money or a gift card so that they can choose their own item.
You can never go wrong with money; a gift card is -- to me anyway -- slightly classier than money. And Amazon.com has a wide enough selection of items that the recipient can usually find SOMETHING; growing wider every day, too.
Once, or twice, a year (birthdays and/or Christmas) I like to give my friend's children a little something. And they seem to LOVE receiving gift cards from Amazon.com!