Present means something presented.
Gift is an ancient past participle of given, i.e. a thing given.
So, they are about as exact synonyms as you can get. If something is not handed over in person it could be argued that present is inappropriate, but it hardly matters. It could still be presented by someone other than the buyer, after all. This is most likely to apply to a "leaving present", such as from co-workers.
It does seem there are conventions, e.g. Christmas and Birthday presents; and we always use gifts to mean talents, but in that case it's partly because the equivalent presented things would be a bit of a mouthful, and partly because you don't receive those at a presentation, whereas seasonal gifts most people do receive in person (even if from the postman, there's usually an unwrapping :o)).
Yes, it's largely a matter of style.