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.

cat
“I’m home” in Japanese. What do you say in return?
“Nice to meet you” in Japanese
What is Kyoto?These answers may help to get it.
ボーイッシュな女性
Though too many 1st person pronouns ( such as watashi ) , you may use only one
pitcher
Matsuzaka will do a good job in the U.S.
My tip not to catch a cold ( a famous Jpn writer also did this )
Matsu Bashou
Haiku rules: pattern and kigo
Difinitions of shogun