Потому, что программисты - не боги. Хуже того, всё время находятся кто-то кто находит нелепые комбинации клавиш или ещё чего-то отчего поведение программы/игры меняется непредсказуемым/незапланированным программистами образом. Это является следствием плохого дизайна поведения игры и пропуском обработки ситуаций в ней. Для устранения ошибок поведения обычно используется тестирование предрелизной версии. Задействуют кучу тестировщиков QA и всё равно хоть что-то, но пропускается. Да, и время нужно для устранения программистами и дизайнерами найденных тестировщиками ошибок. Обычно программный продукт от момента появления первой версии до зрелого продукта проходит цикл тестирования-разработки длиной в год или два.
Желающим почитать об этом чуть более статья из википедии в руки - Теория тестирования программного обеспечения.