Вот тут okiseleva высказывает разные мысли, и цитирует некоторые книжки, мне очень понравилась мысль (насколько я понял, okiseleva не совсем согласна):
Диалог подтверждения - удобный выход для программиста, поскольку избавляет его от ответственности за содействие непреднамеренному удалению. Однако здесь имеется неправильное понимание источника проблемы. Удаление целиком лежит на совести пользователя, и он уже набрал команду. <...> В действительности имеет место уход от другой ответственности - ответственности программы быть готовой отменить действия, пусть даже пользователь захотел их выполнить.
Я за концепцию, когда операционная система не задает глупых вопросов, но позволяет отменить (или не позволяет, играем на nightmare, хрен ли). Нажимая кнопку клавиатуры я подтверждаю, что согласен, ответственен и так далее. Ибо уже со мной что-то не так, если я топчу кнопки не думая или выполняю одни и те же действия тысячи раз.
Другой вопрос как быть с touch интерфейсами, где нечаянные нажатия или промахи - обычное дело.