IBM Interview Question

difference between waterfall and agile and when would you use each?