VMKernel NICs are what connects the Hypervisor to the world outside the host. They support things like the Management Interface (VCSA connects to this), Fault Tolerance and vMotion.
Portgroups are what connect your VMs to the outside the host, and to each other inside the host.
vSwitches link port groups and VMkernel NICs to the hosts physical NICs.