What is a "waterfall" or "fail over" and why should I use one?