One item overlooked with legacy code is often it powers such mundane systems such as payroll. These are systems that must work regularly and often. Replacing this working code with new code risks chaos for several weeks while the bugs are worked out.
But there is a point when so much cruft and dead code has accumulated that making modifications risks bring the entire, creaking structure down. The trick is to recognize when one is reaching this point.