Programs that are too complex.
Programs should be no more complicated than the problems they are trying to solve. Ideally, they should be much less complicated, because the complexity can be reduced to interfaces to extremely mature software.
However, there is an intrinsic complexity to most problems, and in an effort to express and control that complexity, programs often invent layer upon layer of complexity, making the management of such applications expensive, and sometimes, impossible.