There's essential complexity and accidental complexity.
A sufficiently detailed spec need only concern itself with essential complexity.
Applications are chock-full of accidental complexity.