Два случая различны.
В случае (+ nil)
аргумент nil вместо числа. В случае (apply + nil)
вместо списка чисел стоит ноль.
Эквивалент
user> (+ nil)
nil
при использовании apply будет
user> (apply + '(nil))
nil
который возвращает тот же результат.
С другой стороны, вызывая (apply + nil)
, вы вызываете +
в пустом списке, другими словами, вызываете +
без аргументов, что возвращает 0. все следующие эквивалентны:
user> (+)
0
user> (apply + nil)
0
user> (apply + '())
0