It is a safeguard to ensure that the water() function only gets called once when the time to water matches the current time. Probably not a problem when the timing is to the second but imagine what might happen if the timing was being done only to the minute, particularly if the water() function is non blocking, which it should be.