2. Автообновление не должно быть обязательным (то есть, без возможности отключения).
2.1 И за спиной у пользователя не должно ничего скачивать, если тот отключил его.
3. Автообновление не должно быть полуавтоматическим. То есть по нажатию кнопки "Обновить" или по таймеру не должен открываться сайт программы (пусть даже на странице с загрузкой), чтобы пользователю пришлось вручную качать, а потом запускать файл.
4. Автообновление не должно быть "тихим" -- типа ты заснул, проснулся, а у тебя уже другая версия. В которой убрали твою любимую пасхалку в Help->About! Хнык-хнык.
Так сделано в Perfect Dark. И на этом он однажды чуть не погорел, когда оказалось, что в новой версии ошибка распределения юнити и все клиенты свой юнити чистят вместо того, чтобы хранить. Не представляю себе, сколько файлов пропало из-за этого. Хорошо, что автор вовремя среагировал и выложил "новую" версию -- старую с исправленным номером версии.
5. Автообновление не должно быть непонятным. Когда нажимая кнопку "подтвердить обновление" ты должен знать, что изменилось в новой версии. А то какой-то кот Шрёдингера в мешке.
6. Автообновление не должно заключаться в автоматической скачке и запуске обычного инсталлятора, когда надо опять нажимать некст-некст-некст-финиш (сбрасываем галочки с Яндекс.Бар) и заново выбирать папку куда устанавливать и менять остальные настройки установки "под себя" (выбирать язык и проч).
7. Автообновление не должно сбрасывать настройки программы. По возможности.
На реальных примерах сталкивался не со всем, но с большинством.