Of course, the main difference is that sleep accepts an argument in seconds while usleep accepts an argument in microseconds. There are 1 million (1,000,000) microseconds in a second.
Also, according to the comments in the PHP documentation on usleep...
"On both MacOS X and Linux the usleep() call seems to consume CPU cycles, whereas sleep() and time_nanosleep() do not."
Source: https://www.php.net/manual/en/function.usleep.php. I cannot attest to the accuracy of this comment, as I have not tested it myself.