Load balancing using DNS is cheap, simple and effective.
Failover using DNS is still cheap but not so simple and not so effective. Failover is achieved by having your DNS provider perform a health check on your service on a regular basis and change your DNS records to point at the other server if the health check fails.
This health check is likely to be every 60 seconds.
DNS records have a cache expiry time known as a TTL. Setting a low TTL such as 60 seconds on your DNS records allows your DNS provider to move all your traffic across to the other server at most 60 seconds after it was detected to be down. But this relies on every client following the rules, and not all of them do.
Some DNS resolvers (out of your control) ignore TTLs altogether or TTLs lower than some threshold such as one hour and provide their own TTL for these records to their clients. Some browsers cache DNS lookups unless a hard-refresh is performed.
DNS-based failover as describe above will likely work for most (90%) of your users within one minute on average. Some users will not see any downtime, some users will see two minutes of downtime (the time of the health check plus the time of the DNS TTL expiry) and some users will see downtime until your primary box comes back up. Most users will see about a minute of downtime.
Low TTLs cause lots of extra traffic to your provider's DNS servers so there will likely be extra cost involved in this.
Whether this is an acceptable improvement depends on many factors outside the scope of the answer.
A reliable load balancer device in a single data centre can provide a better experience for your users up to the point where your biggest source of downtime is the data centre or the load balancer itself.