Waitpid differs from wait in the sense that it waits for the specific PID to terminate. It can be modified by changing certain parameters whereas wait() suspends execution of calling thread until one of its children terminates. waitpid is used in the scenarios where we need to wait for a specific PID to terminate along with certain other options such as some flags like WNOHANG and options flag.