Design systems that degrade gracefully instead of cascading into outages: timeouts, retries, circuit breakers, and idempotent recovery. Use whenever integrating external dependencies, writing multi-step operations, or reviewing failure-handling code.