If you are familiar with languages like Arabic or Urdu you will be aware that they start from right to left unlike English where we read from Left to Right.
So if we set margins using Margin right/left then we don't care about the language but we just directly add the margin according to the universal left and right.
But if we use Margin start/end then we care about the language. So let's say if the app has a UI which is written in Arabic language then the start will be the right side and if the UI is in English the start will be on the left side.
Now when to use right/left and when to use start/end :
So if you are sure that your app is going to have no language needs and you need to show your UI from left to right always like in English language then you can opt for left/right margin as it's easy and simple to understand.
But if you are building a multi lingual app then you can opt for start/end margins as you don't have to create multiple UI's.