The accident with Progress M-34 was very different than a serious problem when Salyut-7 practically stopped functioning. Salyut-7 was unmanned at the time it lost contact with Earth - had it been manned, it's possible the crew onboard could prevent some unfortunate events from happening. With Salyut-7 it took a special flight to be sent, dock with an uncooperative station and over several weeks restore the station systems. With Mir, the crew was onboard, in immediate danger, but was able to react with no delay. And while shutting down the punctured Spektr module led to significant decrease in power for the station, which required weeks to fix, there were no concerns, for example, with docking to an unresponsive station.
It's said that a single failure teaches more than many successes. In spaceflight that was true again and again. Ability to understand the root cause led in many cases to changes in design, manufacturing processes, operating procedures, which made flights safer.
Another lesson - which repeats in many situations - is that a single failure shouldn't lead to a catastrophe. A misbehaving life support system unit shouldn't be critical for survival - or should have a backup, preferably the one which wouldn't fail in the same conditions. "Graceful degradation", ability to fall back to previously tested systems is a norm in manned spaceflight. For that ability the failures shouldn't be so dangerous that the crew doesn't have time or ability to counteract them. It's one of the reasons why our progress in space isn't sometimes as fast as we'd like.