Cash obviously. Gift cards and cash have the exact same value, but cash is more widely usable. I see gift cards as less-spendable cash. The only time I'd prefer a gift card is if it had some special bonus or something, like some of the Best Buy cards that give coupons with the card.
cash any time but i think its better to have the gift directly more then money , i prefer gifting what i know he/she wants,if no time to buy a gift then i would go for Cash
Gift cards are better for sender as well as receiver as you can decide for yourself what you want to buy according to taste and needs.