I used to work on a legacy Java codebase that made heavy (mis)use of the Observable pattern, and I must second your sentiment.
Invariably a system acquires enough stuff going on that you get "observer storms" of feedback, or people find really weird couplings that are not immediately obvious because something several modules away is observing something it doesn't need to.
In order to observe an Observable object, you need to have a reference to it. Adding an Observer to something that you shouldn't isn't possible without introducing it as a dependency. If someone does inject something so they can observe it, it's easier to spot the coupling.
It sounds like the legacy code you got stuck maintaining put logic inside the observers, which isn't the Observer Pattern's fault. In my own experience, not using event patterns like the Observer Pattern is probably the biggest cause of difficult-to-maintain code.
Invariably a system acquires enough stuff going on that you get "observer storms" of feedback, or people find really weird couplings that are not immediately obvious because something several modules away is observing something it doesn't need to.