В основном причины такие:
1) Программа оказывается в бесконечном цикле при обработке нестандартных ситуаций.
Например программа может постоянно просить место на диске, пока его не заполучит, а случай отказа по причине заполненности диска авторы не предусмотрели.
2) Долгая обработка программами нестандартных ситуаций.
Например, если на веб-страничке с фотками их вдруг окажется 1000000 штук, то вкладка браузера зависнет на пару часов, пока все не подгрузит. В этом случае программа работает, но очень долго.
3) Ошибки оборудования. Например, контроллер диска говорит: "ок, щас прочитаем данные", а сам ничего не читает и не отвечает.
) знакомо)))