Currently to get someone a gift on Steam you must know their account name, you have to have your own Steam account, you have to know which specific game the other person wants, and you have to use your credit card.
A Steam prepaid card you could simply choose an amount and can pay for it in cash. Send it to them in a Christmas card or whatever. Easy, your grandma could do it.
Physical goods FTW.