For Onsite and Offshore team we had two different SCRUM Master. They played a good role but still believe It was important for the team to have good understanding of all concepts of Agile up front as few sessions created confusion and SCRUM master was not able to convince us. It was also about culture change. Another important thing was availability of SCRUM master. If he is with the team then it is easier for team to get the process. Geographical distance created communication issues.
However, once we had Scrum Masters who follow same practices (I think it may vary based on organization’s culture.) we all felt comfortable. Scrum Master was responsible for removing impediments by discussing issues with Stakeholders at Business’s side. He used to make sure that all capacities of each cross functional team is getting utilized in a proper manner. He used to make us understand Burn down charts and where we are heading. Often there were a situation where he protected us from external interference.