I have three servers, though two would be fine. I don't have what I understand as a "reliable failover system" or anything close to it, but if one server is down I am in a position to provide a degraded or limited service using the other server(s) which is generally enough to keep users happy and the business ticking over. It's in no way automated or anything like high availability, but it gives me options and in a crisis I like to have as many options as I can. The cost isn't anywhere near double, since you're not doubling up on disks or memory or CPU by spreading the load across two boxes.