Why Combine Roles?
Agile adoption has two components: project management practices and technical practices. While Scrum is a project management methodology, the technical practices that the team uses every day, such as unit testing and continuous integration, are what enable lightweight project management overhead, as the technical practices enable more flexible code and quicker feedback on the status of the project.
Adopting new technical practices can be challenging. It's not always obvious how to unit test effectively or how to organize your coding in a way that allows for incremental delivery. Leading by example can be a very effective way to introduce change. This argues that someone in a technical leadership role might be a good person to help the team understand how to apply technical practices and how the technical practices interact with project management practices.
In many cases, the impediments teams adopting agile face are technical and organizational. A technical contributor can more readily address technical issues, ranging from questions about how the continuous integration system works to facilitating discussions.
In teams where there is some resistance to agile adoption, the presence of a technical contributor driving the process change adds credibility to the process changes.
Making the dual role work can be a challenge for the ScrumMaster, his manager, and the team.
Finding a Balance
A technical leader filling this dual role can have trouble balancing the project management, technical coaching, and contribution aspects of his role. The project management aspects may languish given pressure to spend more time and energy on the coding tasks, which are perceived as having higher value even though enabling the rest of the team adds more value.