I use both Proxmox and libvirt on Debian. I don't use clustering. For me, the biggest advantages of PVE are:
- Good VNC and serial console support integrated into the web interface. (Could probably get something similar with libvirt using Guacamole, but PVE makes it super easy).
- Good VM snapshot management. I've found libvirt snapshot management to be pretty limited and/or buggy, and I've had to resort to directly operating on qcow2 files.
On the other hand, there are a couple things I like more about libvirt:
- Good support for SR-IOV NICs. libvirt lets you create a pool of VFs and automatically assign a free VF to a VM. (It's a little surprising to me that PVE doesn't do better in this area.)
- Simpler with fewer moving parts to break.
I use libvirt for my most critical VMs (network infra like router, DNS, and DHCP). I strongly prefer PVE for anything where I'm going to be interacting with VMs regularly, like testing or lab setups.