Почему некоторые cms не удаляют инсталляционный файл а требуют удалить вручную?
Пока файл выполняется он недоступен для чтения/записи.
К тому же, установка может пойти не так как планировалось. Возвращать файл установки (а в некоторых случаях целую директорию) - лишние действия.
P.S. Не используйте CMS :)
Потому что зачастую скрипт не имеет достаточных прав для удаления файлов из своего каталога.
Недаром многие CMS рекомендуют поставить права 0777 (rwxrwxrwx) на каталог upload для загрузки файлов через web-интерфейс.
Например, если php выполняется под апачем от пользователя apache:apache, а CMS заливал по FTP Вася Пупкин под пользователем vasya:wheel.
Возможна и такая конфигурация, что скрипты, загруженные пользователем vasya выполняются от его же имени.
В этом случае скрипт может удалять файлы и каталоги без дополнительных телодвижений.