Для лучшей оптимизации компилятора. Когда ваш код работает на ядрах 1K-100K, скорость имеет значение.
Кстати, цель не всегда используется. Например, в ситуациях, когда указатель используется для выделения памяти.
...
real, pointer :: p(:), x
...
allocate(p(15))
...
x => p(1:5)
...
nullify(x)
deallocate(p)
...