Homelab Hypervisor Choices
Microsoft Windows Server 2012 Hyper-V
Microsoft Windows Sever 2012 Hyper-V server is "free" with each Microsoft Windows Server license. Effectively from Microsoft Windows Server 2008, Microsoft embedded the Hyper-V into the operating system and depending on whether or not you enabled the Hyper-V feature depended on whether or not that feature set was exposed.
Microsoft Licensing is a dark art that only a select few will take the time to master and to remain compliant within a corporate world it most companies rely on License specialists. Whilst it is, of course, important to be fully licensed for all of the software you plan to run within the home lab, if you have a TechNet (no longer available) or MSDN subscription then you are more than likely covered (assuming you only deploy the applications and software you are licensed for). See Microsoft Licensing.
From a Hyper-V perspective, Microsoft Windows Server 2012 (inc R2) Standard Edition license means you can run upto 2 VMs per license. Any further VMs will require additional Standard License (licensing either the host for virtual instances). By far the most common scenario for virtualisation in real world environment is to purchase Data Center Edition licensing as this allows you to run unlimited instances of a virtual machine on your host servers.
That said, I believe the Microsoft Server license mode is very much trust based. Microsoft trust you will do the right thing because beign caught under licensed is a very expensive mistake to make!
Microsoft Hyper-V Server
KVM is a versatile beast and ships with virtually every Linux distribution, making it incredibly widely available. KVM supports live migration and together with other Linux tools can provide the same base features as both VMware and HyperV. The key point to realise about KVM is that KVM just runs VMs, it's not a monolithic product like ESXi and instead of trying to do everything the Unix philosophy is to do one thing and do it well. So, KVM runs VMs but for networking you have a pick of tools from basic linux bridging with brctl for simple sharing of the host network to OpenVswitch with VXLAN for complex NFV use cases. Similarly with storage, you can either use the same disk you installed Linux on to store your VMs, or setup a clustered storage system akin to VSAN using popular alternatives like Ceph or GlusterFS.
Proxmox acts as a layer above KVM to include network, storage and host cluster services under one roof. Open source and free with a paid-for support model.
The open-source branch of Red Hat's RHV product oVirt is similar to Proxmox in functionality.
KVM w/ libvirt
If you are willing to get your hands dirty then you should read a primer on virsh (Ubuntu or Red Hat), a simple shell to start/stop and configure VMs on the command line. Configurations are stored and retrieved as XML and support includes starting/stopping/migrating VMs managing virtual disks across a wide variety of backends and managing virtual networks.
If you already run Linux on the desktop then the excellent virt-manager tool is available to you.
VMware vSphere ESXi
Welcome to the joy that comes from hand-crafting your own ESXi ISOs to include that motherboard SATA controller that VMware refused to put on their HCL, loading your new ESXi with tons of VMs, running it for ages and then upgrading it forgetting about the driver and losing access to everything. Fun times.