In the case of the SQL server, there a several common failure vectors to protect against. Most servers today include provisions for redundant power supplies, error-correcting memory, and RAID arrays -- all of which could be considered types of high availability in that they allow a component to fail without causing interruption to service. However, most servers won't protect you against a main board failure or OS instability. Thus, you might implement a second server and configure transactional replication between the two or take it a step further and implement shared storage (SAN) and full clustering. That gives you the ability to weather the failure of either host and significantly decreases your exposure.
The ugly truth about disaster recovery
High availability, disaster recovery, and business continuity often fail due to poor design. Here's how to do them right -- even in the cloud