There are lots of scenarios where a modal is the expected way to accomplish a task. Preventing irreversible errors (Are you absolutely sure you want to delete this user’s data irreversibly?), save/load dialogs, etc. Modal overuse is a real problem (and one we’re addressing in our product), but there are some situations where they solve a real problem.