mishap is tends to be more casual .
If you say " there was a bit of a mishap at lunch" it implies that something small and maybe funny went wrong . (like the waiter dropped something on you )
mishap = a mix up, an error , some confusion
If you say "there was a mistake" it tends to sound more serious .
By saying it is a mistake you are saying it was definitely wrong. . If you say mishap you are saying one part of the event went wrong / got confused .
Examples :
"Sorry excuse me waiter , there was a mistake with our order. You gave us the fish instead of the beef"
"Why is the dog blue ? " "There was a bit of a mishap when we were painting the house ..."
mishap = miss happening . Something happening that goes amiss. Not always bad.