В свое время мне британец-носитель объяснял разницу так:to have - иметь в собственности, но не обязательно при себе в данный моментto have got - иметь при себе в данный момент и соответственно иметь возможность воспользоваться, но при этом не обязательно быть владельцем этого чего-то (можно одолжить)