This is akin to invoking an overloaded function. Sometimes the function takes 2 parameters:
array($employeeId, null)
sometimes it is 4:
array($rate, null, null, SQLSRV_SQLTYPE_MONEY)
Placing null in these function calls generally means no value. If you look at the different queries/functions that get invoked from these you will most likely see that the parameters are used in different ways. Further a null passed into the function implies that it would be an optional parameter, which is why it comes in as no value or null.