Nested if, for, while, until, case and begin...rescue statements are key ingredients for making what's known as "Spaghetti code".

Such code is hard to read, refactor and therefore maintain.