The words come to us from different language families. Gift comes from the old Germanic root for “to give.” It referred to an act of giving, and then, to the thing being given. In Old English it meant the dowry given to a bride’s parents. Present comes from the French for "to present." A present is the thing presented or bestowed. They were both in use for the idea of something undergoing a transfer of possession without expectation of payment from the 13th century onward.
The words gift and present are well-matched synonyms that mean essentially the same thing, but even well-matched synonyms have their own connotations and distinctive patterns of use.
Gift applies to a wider range of situations. Gifts can be talents. You can have the gift of gab, or a musical gift. Gifts can be intangibles. There is the gift of understanding or the gift of a quiet day.
Gift的用法更广泛，它可以指天赋，比如说你生下来就能说会道（have the gift of gab），或者有音乐天赋（musical gift）。Gift可以指代无形的事物，比方说你的理解能力很好（gift of understanding），或者能够度过平静美好的一天，真是上天的恩赐啊（gift of a quiet day）。
We generally don’t use present for things like this. Presents are more concrete. If your whole family gave donations to your college fund for your birthday would you say “I got a lot of presents”? It doesn’t exactly sound wrong, but since you never hold these donations in your hand, gifts seem to fit better.
Gift can also be an attributive noun, acting like an adjective to modify another noun. What do you call the type of shop where you can buy presents for people? A gift shop. What do you call the basket of presents that you can have sent to all your employees? A gift basket. Present doesn’t work well in this role of describing other nouns. We have gift boxes, gift cards, and gift wrap, not present boxes, present cards, and present wrap.
Gift还可以作定语名词，去修饰另一个名词。你会把礼品店称作什么？A gift shop。给员工装礼物的篮子叫什么呢？A gift basket。Present则不可以这样去修饰另一个名词。我们经常说的gift boxes（礼品盒），gift cards（礼品卡），和gift wrap（礼品包装），但是不能把它们说成present boxes，present cards，和present wrap。
Gift appears to be more frequent than present, though it is difficult to get accurate counts, because if you compare occurrences of the noun present with the noun gift, you include that other noun present, meaning the here and now. However, the plural noun presents captures only the word we want. Gifts outnumbers presents in the Corpus of Contemporary American English by four to one.
Source: 董静 from language.chinadaily.com.cn