If a user wants to buy something as a gift for someone, the process will stay the same. If it's a digital product, they can forward it to the final recipient and if it's a tangible product, they can enter the shipping address of the recipient on the checkout page.
If you want to create a gift certificate, you can go to Admin > Cart discounts, enter any random characters or numbers in the "code", enter an amount and set the use count to 1 (so it expires after one use) to create a gift certificate.
Limitation of these gift certificates as that only ONE gift certificate or cart amount discount code can be applied to a sale.
If you want to sell these certificates online, you can collect the codes you create and sell them as a product using instructions at http://www.e-junkie.com/ej/help.selling-codes.php
If you want to sell these certificates offline, it's simple, you take the cash and give the code