hi,
one big difference is the level of formality.
kind of like the two words friend and buddy which could be translated into Farsi as دوست and رفیق respectively.
as for the second question, I should say if you want to say, "you have a friend" you could say,
"من یه دوست دارم" in which there is no vowel sound between /s/ and /t/ in /dust/ but whenever we want to say we love/like someone, we'd put an /e/ vowel sound in there between /s/ and /t/, pronouncing it, /duset/ and omit the word, "یه" which is the short/ spoken form for, "یک" .