LDL^T decomposition
Cholesky is beautiful but it takes a square root for every pivot, and square roots are slow and only defined for positive numbers. The LDL^T factorization keeps Cholesky's symmetric structure while sidestepping the roots: it writes a symmetric A as A = L D L^T, where L is unit lower triangular (ones on the diagonal) and D is diagonal.
The trick is to leave the pivots in a separate diagonal factor D instead of splitting their square roots into L. If A is positive definite, D has all positive entries and you recover Cholesky by setting the Cholesky L to (this L) times sqrt(D). But because D is allowed to contain negative or zero entries, LDL^T also handles symmetric matrices that are indefinite, where Cholesky simply does not exist.
Indefinite symmetric systems are everywhere: saddle-point problems from constrained optimization, KKT systems, and interior-point methods all produce them. For those, the robust version is the Bunch-Kaufman variant, which permits 1x1 and 2x2 blocks in D and pivots symmetrically for stability. It is the standard solver for symmetric-indefinite systems.
Caveat: plain LDL^T without pivoting can still be unstable for indefinite A, exactly as plain LU can. The block-pivoting Bunch-Kaufman scheme is what you actually call when symmetry must be preserved but positive definiteness cannot be assumed.
The number of positive, negative, and zero entries of D is the inertia of A (Sylvester's law).
Think of LDL^T as Cholesky with the square roots factored out into D, generalized so D can be indefinite. Same cost class as Cholesky, broader reach.