Okay, so coupling in and of itself isn’t bad. In fact, it would be hard to imagine a modern piece of software that has progressed beyond the toy stage that doesn’t have components meaningfully coupled together. What I’m talking about is that insidious, chaotic, growing unnecessary coupling that happens so easily on a project. Seriously, when you have a dozen folks working on a code base some crazy coupling is bound to creep in there.
Coupling is the AIDS of software development. It won’t directly kill your project but it will make it easy for something else to kill it off. As coupling rises the ability of the developers to simply understand the code, make orthogonal changes, and test the thing is reduced. You can measure these symptoms as the length of time it takes to make a change, add a new feature, or fix a defect. Eventually these problems get so bad that the “One Rewrite To Rule Them All” is ordered from CEO-ron from up on corporate Mount Doom or the whole thing is simply cancelled. Both of those are generally thought of as Bad Things.