The usleep() function suspends execution of the calling thread for (at least) usec microseconds. The sleep may be lengthened slightly by any system activity or by the time spent processing the call or by the granularity of system timers. while sleep is delaying the execution of a task(could be a thread or anything) for sometime .
For usleep(): http://linux.die.net/man/3/usleep
For sleep() : http://linux.die.net/man/1/sleep