Одной из причин является совместимость - любой, кто выполнил «проверку на существование», знает об исключении каталогов; изменение этого поведения может сбить с толку тех, кто полагается на это поведение.
Во-вторых, лежащий в основе код часто выполняет проверку операционной системы на наличие в каталоге журналов записей файловой системы - для ОС каталог совпадает с файлом. Другими словами, он ищет запись 'xyz' в каталоге, а не файл с именем 'xyz' в каталоге.
Обратная совместимость является основной причиной, я подозреваю.