Adding code to your WordPress theme's functions.php file can indeed cause a lot of headaches. But the real reason why you should keep your code organized is the Single Responsibility Principle.
Robert C. Marting coined the term concerning Object Oriented Programming. But, since then, it has evolved, and it's applicable to all programming paradigms, even when tweaking your WordPress install using small code snippets.
The Single Responsibility Principle states that each module of code (function, file, class) should have only one reason to change. Following this, leads to writing more maintainable and easier to change code.
When we look from this vantage point at adding code to functions.php, that file is going to quickly become a monolith with tens of reasons to change.
This topic can become as complicated as we would make it, and it's still hard to understand for most. We shouldn't go very far into the technical aspects of it.
But, let's consider that we have two snippets of code that we need to add to our WordPress site. One snippet would change the admin dashboard colors, and the other would remove some fields from the checkout form. Ideally, these two snippets should be separated. Because, at a future point, we will want to change the admin colors, and by doing this, we can create problems that can lead to the checkout form not working.
The previous example was just a simple one with only two unrelated snippets being in the same file. Most functions.php files become monoliths of tens of unrelated snippets that quickly turn into maintenance nightmares.
We will become afraid to touch that file because no one can know the implications a small change can have on the fragile system. At that point, we can say that the code becomes rigid and challenging to maintain.
So, in conclusion, the Single Responsibility Principle tells us to keep code that changes for the same reason together. And keep code that changes for different reasons separated.
That's why we developed WPCodeBox, to help your WordPress sites become easier to maintain. WPCodeBox also helps you organize your code into small snippets that do just one thing and do it well. When you have to make a change and there is the risk of introducing a breaking error, the error will be confined to that small snippet, which will be disabled automatically, without any downtime and with a minimum impact on functionality.