Realistically, it's largely just a code cleanliness thing - the cleaner and more contained your code is, the easier it is to work with in the future, the more readable it is, and the less likely you are to code yourself into a corner where you're stacking exceptions on exceptions just to get something functional. Nevermind as well the fact that unclean code makes it harder for you to know what the hell something is even meant to do, where its focus should be constrained and where it shouldn't be used (because things being able to touch other things they're not supposed to is a great way to break your program). Sticking things unnecessarily in global scope epitomizes giving yourself rope with which to hang yourself.
Or, in a different manner of speaking, writing dogshit code makes it slower and more aggravating to code more within the same project. It slows you down significantly and causes a lot of trouble that requires you to waste time doing extensive refactoring, nevermind the fact that the thought of dealing with bad code makes it harder to motivate yourself to work. So, basically, it's almost certainly a large part of why Jason never seems to get anything done. Writing cleaner code makes you code faster, and the inverse is true.