As a ScrumMaster, I was asked this question many times. Sometimes I had enough time to explain, sometimes not. But every time it was challenging to provide a clear picture of what a ScrumMaster really does.
To help myself and other ScrumMasters, I have started to write down general activities, which characterize the role of the ScrumMaster (see below).
The priority of activities varies by company.
1.Keeps Scrum process running
2.Ensures a proper power balance between PO, Team, Management
3.Protects the Team
4.Moderates in the Team
5.Helps to organize (e.g., Meetings)
6.Helps to keep the Team focused on the current Sprint
7.Helps to achieve Sprint goals
8.Works with PO
9.Educates PO, Team, Management and Organization
10.Solves impediments
11.Encourages and helps to achieve transparency
12.Strives to develop a Team into a High Performance Team
13.Encourages and protects self-organization
14.Educates and focuses a Team toward business-driven development
15.Supports Team building and Team development by utilizing the abilities and skills of individuals, and fostering a Feedback culture
16.Helps to self-help
17.Ensures and supports Empowerment of the Team
18.Addresses needs efficiently and effectively
19.Detects hidden problems and strives to solve them
20.Helps Team to learn from its experiences
Source: http://www.scrumalliance.org/articles/160-what-does-a-scrummaster-do