I thought there was almost no difference, but to be exact, there is.

In kanji, it may be easier to understand the gap.

a fighting man or a serving man

bushi: 武士
武 (bu) means ” a fighter with a weapon “
 
士 (shi) means ” a man “
 
So in a strict sence, bushi means ” a fighting man with a weapon “
 
samurai: 侍
侍 means “one who serves.” Samurai served to a noble or a imperial family.
 
People (including Japanese) tend to call a man with katana swords ” samurai”.

 
But it would be more accurate if we call him ” bushi “.
 
Even japanese people are not aware of these difinitions, so nobody points out which word you should use.

” Thank you ” in Japanese. My recommendation is…
Do you soak or not? when you serve handdrip coffee
“Nice to meet you” in Japanese
Tell you about myself
Takoyaki stands are closing, which is no problem for Kansai people
karaoke
Which part of brain does Enka stimulate?
Black Yasuke in Assassin’s Creed is OK, but his background must be known correctly
What is origami?Its history and usages including purification