Know when to kill it. Some projects are just disasters, and everyone realizes it, but no one wants to pull the plug. Thousands of hours have been spent. SO's to work on it. Anticipation in the community is high.
Many projects spiral out of control.
So often, the programmers continue flailing away, hoping against hope that honest effort and will can overcome bad design. Sometimes the software staggers out into the world, there to be ruthlessly savaged and tossed bleeding into the weeds. It's a hard thing, but every programmer needs to know when to kill a piece of bad code. But it must be done. Know when to get away from it.