To understand Scrum, you have to understand the difference between a framework and a method. At a surface, it can be confusing which is which, but once you understand what is inside, you will know what Scrum really is.
A framework is a set of rules, which defines constraints. It is a frame with strict borders you are not allowed to cross but you can apply different techniques inside it. Also, framework often sets goals you should achieve but does not tell you how to do it.
A method is something, you can apply within a framework. It is a set of well-defined steps you have to take if you need to reach the specified goal. It is an algorithm, a recipe for something to achieve. A method can be applied in a well-known environment, where outside factors cannot influence the result or if you know how it affects the output. A plain example here is cake making. When you have a recipe, you can buy needed products and make a cake. Cakes baked by different people can differ but the effect will be similar. Eggs used by one person do not differ much from eggs used by another.
On the other hand, an output of some methods can vary, depending on the environment where they were applied. What I mean by this is especially social methods, where a single person or a group of people are involved. One algorithm for conducting a meeting can be successfully applied in one team but the same method used in another team can even bring the opposite effect. It is because people are different and teams are different. Each team has a unique style of work and each has its own level of maturity. That is why you have to use different methods for different teams.
This explains why the Scrum is a framework, not a method. Each company has its own culture, style of working and different level of stability. Scrum, as a framework, allows you to apply different methods to achieve the same goal. It is even recommended to try different methods to check what suits the best in a given situation. With such approach, you will end up with tailored methods that work fine for you.
Company’s environment, inside and outside, is too complex to provide one recipe for a success. That is why an Agile movement was born. Scrum, as an agile framework, is an adaptive approach, where you empirically check what works just fine and what is not working at all. You take only those methods that help you reach your goals.
So, why you need a framework to this? Because it reminds you about your goals and sets constraints. And where there are constraints, there is always an optimization within it. Like a timebox for a meeting. When you do not have defined time for a meeting, it may take hours before you work out some consensus. When the timebox is applied, and time for a meeting is strictly defined, you need to make a decision before the end, because in another way you will be left with nothing.
Being a framework makes Scrum a universal and powerful tool for many companies and teams to make their work optimized and more effective.