Pregunta de entrevista de IBM

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