Software engineering is difficult since the problems it solves are unique, and no standard methods or rules can be followed when developing a system or software solution.
The most important source of information when designing a software solution to a problem is the problem itself, along with less important information sources such as the company rules, the laws, technologies available …etc.
To extract the most out of the problem statement, the developer must deeply and carefully read, understand, and imagine every possible aspect of the customer statement of work and the requirements.
In a simple product, the developer can imagine everything in their head skipping the modeling process; this may work in a simple system with a limited number of objects where the cost of change -if things are misunderstood- is fairly low.
In real life, systems are complicated and involve many objects making remembering all of them an impossible task. Also, the relationships between these objects are complex, and there is no way to think about them without modeling.
In real life, the cost of implementing a piece of the system is fairly high. Implementing software components to only change them later because of requirement misunderstanding makes the development process much more difficult and costly.
So the benefits of modeling are:
Gives the developer an overview of the system context before its being implemented.
Illustrates all system components and the relationship between them for a clearer understanding of the problem domain.
Reduces the cost of development by thinking everything ahead before writing any code.
Ensures that all teams participate in the decision-making process; since modeling uses symbols that can be understood by non-developers, it is a good idea to invite all teams to look at the diagrams and give feedback, which may open the eyes of the developers to some hidden problems.
Reduces the need to change critical parts of the system at later stages of development; since these details are well-discussed before the implementations.