The simplest description is the Product Owner decides on the what, the Development team work out the how and the Scrum Master help the team achieve the how.
Scrum Master: protecting the scrum process and preventing distractions
Responsible for helping the team deliver work to the Product Owner OR CLIENT
Makes sure the team can meet its commitments by removing any impediments they face, including Managing dependencies, escalating blockers that they cannot remove themselves
Facilitates process & meetings (eg Reviews, Stand Ups, Planning, Estimation, Scheduling, Prioritisation)
Makes sure the team is fully functional, productive and improving quality
Shields the team from distractions and interferences (including the Product Owner)
Enables close cooperation across all roles and functions, removes barriers
Responsible for reporting progress, including producing standard outward-facing artefacts
Manages Product Owners expectations of the team
Responsible for keeping time and quality requirements
Product Owner: Determines what needs to be done and sets the priorities
Voice of the Stakeholders, represents the business
Manages stakeholder relationships, comms & expectations
Accountable for the vision, scope, and scale of the product
Defines key features of the product & success criteria
Continuously refines requirements
Sets delivery schedule by managing the backlog – creates and updates the release plan, including prioritisation
Accountable for the project success
Decides on release date, content and budget
Accepts and rejects work in the sprint reviews
Takes advice from the team on Backlog Dependencies
Single point of contact for the product (including New requirements Prioritising backlog items) –
Development Team: Takes on and determines how to deliver chunks in regular increments
They have to break down the requirements, create tasks, estimate and distribute them. In other words, this means that they have to create the Sprint Backlog.
They have to perform the short Daily Sprint Meeting.
They have to ensure that at the end of the Sprint potentially shippable functionality is delivered.
They have to update the status and the remaining efforts for their tasks to allow creation, of a Sprint Burndown Diagram.