CPU wait is a somewhat broad and nuanced term for the amount of time that a task has to wait to access CPU resources. This term is popularly used in virtualized environments, where multiple virtual machines compete for processor resources.
The exact definition of CPU wait is somewhat contentious. IT professionals may use it to describe any time when there is an input/output task or other job that is waiting for completion. However, some others separate it out from other metrics. For example, one could contrast a "CPU wait" ("%wait") indicator with something called "%ready" in VMware, where %ready times indicate that a specific machine and CPU component are waiting for their turn on the system. By contrast, CPU wait metrics could represent input/output tasks that are not yet scheduled or times when components are waiting on the VM kernel.
In general, CPU wait references wait times for a thread or program execution, which is part of the very important triaging that systems do for multiple processors or parallel processing. One of the biggest challenges with virtualized systems is how resources are shared, in particular, how processing power and time are shared. Administrators have to learn a lot about monitoring systems to find out how long jobs are waiting for execution and what CPU wait times are in order to figure out how well a system is running.