Both are trying to do the similar thing, which is make some effect on thread.
I know that thread.sleep is to let the CURRENT thread to sleep and wait can let any thread to wait, if they are trying to get the object's lock.
The question is, most of the time they are doing the similar thing - what makes you choose one over another?