What is the difference between "gift" and "present"?
Solution 1:
One difference is that we use birthday gift or birthday present but we only use free gift and not free present.
Solution 2:
In many contexts, there is not much difference. I'd say "present" is mostly used in a practical context, when you hand someone a present on his birthday; "gift" is rather used in an abstract or formal context, as in the gift of telepathy [by supernatural powers], or a gift of land to the church. But this distinction is not at all strict; in many practical situations, they are used interchangeably. I think "present" is the more limited word. When it is used in a formal context, it is often with mild irony: "the Duchy of Burgundy was a handsome present for Maximilian to receive from a potential bride, so the Habsburgs did not need much time to decide on the target of their bribes".
Solution 3:
A radio show titled "Says You!" had a piece on "what's the difference?" The answer to gift vs present was that one gives a present in person, but sends a gift. The show itself seems well researched, with the occasional listener letter sent in and read as a correction.