WaitForFirstConsumer delays volume binding/provisioning until a Pod using the PVC is scheduled. This is critical in multi-zone clusters: if the PV were created immediately, it might end up in zone-a while the Pod is scheduled to zone-b (where the volume isn't accessible). By waiting, the provisioner knows which zone to create the volume in. The alternative mode, Immediate, provisions the volume as soon as the PVC is created.
Official docs