Чтобы вызвать функцию через apply или call нужно передать значение, которое примет this внутри функции. Но при этом this внутри функции может не использоваться, но передать надо. Поэтому передать null это первое, что приходит на ум. А вообще можно что угодно.
Если передать вместо null какой-то объект, то функция add будет выполняться как метод этого объекта. Внутри функции this будет указывать на переданный объект.
В вашем случае просто вызывается функция с помощью Function.prototype.apply и значение this для неё не требуется. Тоже самое, что и var sum = add(array);