Hardware fails, data centres lose power and deployments go wrong, and users expect the app to keep working anyway. High availability means finding every single point of failure and removing it, for example running each tier across two or more AZs with health checks and automatic failover. Not every system needs 99.99%: each extra nine costs more, so match it to the business need and the RTO and RPO. "Design this for high availability" is a common interview prompt.