“I don’t know what the controller uses the pings for” — this is for periodically checking if the controller is still connected to the router. Most systems have to do the same to make themselves aware of the network connectivity. If the connection is lost, it will try to re-establish connection after some time out. This is quite important because if your router went down and came back up, the device needs to be able to re-establish connection, otherwise it will lost the connection forever until you restart next time.
Samer is right in that while a sprinkler program is running, the device will pause sending ping requests until the program finishes. This is the line in the source code that bypasses network checking while a program is running:
Similarly while a program is running the device will not perform NTP time sync, for the reason that if time changes while a program is running it may mess up the program run time unexpectedly.