What is the difference between gift and present?
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".
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.