At the bottom of every long-lived codebase is a function nobody has called in three years. Above it is a commented-out block from a refactor that was abandoned halfway through. Above that is a file with no incoming imports, which somebody added during a sprint that got cancelled. None of this code is doing work for the product. All of it is doing work against the team: slowing down reading, confusing search results, surviving every refactor that swept past without touching it.

Dead code accumulates because deletion has a visible cost and keeping has an invisible one. The visible cost is the worry that something somewhere depends on the code in a way nobody noticed. The invisible cost is everything the code makes harder until somebody finally summons the courage to delete it.

Agents amplify both sides of this.

What dead code looks like

The category is broader than "code that runs but does nothing." The forms vary.