Building great software takes a village. A developer is a member of the team who is contributing to the codebase. Here is a breakdown in the role of client-side: (frontend) developers, server-side (backend) developers, and design technologists (designers who code). The roles of Scrum Master, Product Owner, and Stakeholder are not developers, and those roles are as much a part of the success of an application as the developer roles.
As focused as a team of developers is on the code, a Scrum Master is focussed on a team of developers. People are people. They get along most times and disagree occasionally. They can see the trees and be blind to the forest. They can make it look alright on the outside when on the inside, it is all wrong. A Scrum Master looks at the people on the team with an eye towards improvement. Addressing interpersonal relations, providing perspective on the application development from a distance, and uncovering hidden issues keeps a Scrum Master active on a team. Before all that, a Scrum Master also ensures the developer team is working in the constraints of Scrum as outlined in the Scrum Guide. Are daily scrums happening? Are Sprint Reviews considering process improvements? Are Sprints keeping to their timebox? The Scrum Master ensures the answer is yes.
A Product Owner’s role evolves and morphs over time and across applications. What never changes is that they are on the team in support of the user. They write User Stories, give voice to the users when they are not present, and consider what it means to deliver an application for the user's benefit.
Stakeholders are users, accountants managing budgets, CEOs approving additional team members, and all the people who are not directly involved in developing the application who have an interest in the outcome. The Product Owner is the primary communicator between stakeholders and the developer team. The stakeholder's role is to provide background information on the context the application is being built in, inform the Product Owner of any changes to the business process the application is being applied to, and generally guide the application's development from afar. Without stakeholders, there is no purpose for the application.