"Present" is more specific and more personal : it's a thing which you choose to give to a specific person, usually on a specific occasion - for example, a birthday present for a friend or family member.
"Gift" is more general. All presents are gifts, but not all gifts are presents. A gift doesn't have to be personal. For example, a company gives out gifts to business associates, or a customer might get a gift from a store along with a purchase that they make. A wealthy person might give a gift of money ( or something else valuable) to a charity or other worthy cause. An artist might donate a work of art to a city as a gift.
hi