os.IsNotExist(err) проверяет ошибку, что это ошибка отсутствия файла, можно проверять ошибку не только Stat, но и ошибку при открытии файла.
Stat может вернуть не только ошибку не найденного файла, но и ошибку ввода/вывода, таймаут и ещё букет ошибок, для этого и используется доп проверка ошибки os.IsNotExist(err)
Не верное заключение по поводу примера кода, верно так:
_, err := os.Stat(filename)
if err != nil {
if os.IsNotExist(err) {
fmt.Println("file does not exist") // это_true
} else {
// другая ошибка - это_false
}
} else {
// тут файл существует
}