I usually buy my games from GameStop because they have a large selection. But I only buy new copies of games that have been out for a while, so they are cheaper. I've also bought from stores such as Meijer, Target, Walmart, Best Buy, etc... I'm basically a sucker for a game that costs less than $20 when it used to retail for $50-$60 plus.
Even when I buy my games from GameStop though, I always buy a NEW copy. Not a USED copy. I do this because the only person that makes money on a USED copy is GameStop, not the developers of the game. I want to support those developers by buying their game, so they can get money for their next project and continue to make games I enjoy.
I also don't buy used games because not everyone treats their games that nicely, and I don't want some ripped manual with my game, or a scratched disc, etc.. Nor do I want a bunch of USED stickers all over the box.
But the main reason is so the developers get a piece of the sale.
The reason I bring all of this up is because you're talking about transferring digital copies of games around. The developers aren't going to make anything off of you giving the game to your friend, and that's a real bummer. If your friend gives that game to someone else later down the road, and then that person gives it to someone else later, and so on, that's a bunch of people who got to play the game without the developer being paid.
As I said, I'd rather that everyone who likes the game enough to own it, goes out and buys their own copy, in a manner in which the developers get paid. That way, they can stay in business and continue to make games that these people would enjoy playing.