WAIT makes the 8086 check its TEST input pin. While the pin is inactive the CPU pauses; when it becomes active, execution continues with the next instruction. In a PC with an 8087 math coprocessor, the 8087 holds that pin inactive while it is busy, so WAIT means "wait until the 8087 is done". FWAIT is another name for the same byte, 9Bh.

The pause is not dead time: an interrupt can arrive during WAIT. The CPU runs the handler and then returns to the WAIT, which checks the pin again.

Why the 8087 needs it

The 8087 runs in parallel with the 8086, and the 8086 has no idea how long a floating-point instruction takes. Two cases need care. Before the next 8087 instruction the coprocessor must be ready, so 8086 assemblers put a WAIT in front of every 8087 instruction automatically. And before the CPU reads a value the 8087 stored to memory, the store must be finished, which needs an explicit FWAIT:

FIST WORD PTR RES1 ; the 8087 stores a result
FWAIT ; wait until it is written
MOV AX, RES1 ; now safe to read

If a program changes a value while the 8087 may still be reading it, an FWAIT before the change is needed for the same reason.

Later CPUs: from the 80286 and 80287 on, the processor checks by itself that the coprocessor is ready before each ESC instruction, so the automatic waits are no longer needed, but FWAIT before reading stored results and to collect pending floating-point errors remains.