I was reading Succeeding with Agile in the past few weeks and got me started on thinking about scrum and reasons why is so successful if well adopted.
I think there are in fact two main factors : how scrum manage changes, and how scrum help to structure communication between developers.
Twenty years ago changes in companies were very rare. A change in the team composition or a new boss were regarded as dangerous and problematic. Don't let me start with technologies.
In a normal situation things are still like this because we are still dealing with people and change is destabilising some situations.
Scrum solves this problem in a really good way, it brings the change, from a sporadic event, to every day.
Small, verifiable changes which bring value to the business are in fact the main concept of scrum. In this way you don't see the changes, you are actively making them.
Today developers are forced to deal with growing complexity therefore projects and teams are getting bigger and bigger. For this reason, as developers, we cannot just sit down at our desk with the headphone, but we have to focus our attention on the team, the relations between team members and how we communicate to other people the work we do.
If you have a team of people that work alone and don't communicate with each other you project is going to die sooner or later. But communication is expensive for developers, require a lot of effort. Scrum institutionalize communication by adopting agile technique as pair programming.
So you have a team and want to be successful on long term you should think about scrum.