Heterogeneity in the context of virtualization is used to describe service and workload diversity as well as resource behaviour of hosted VMs rather than just VM capacity. Two VMs may have the same capacity but run completely different applications or workloads. Though both could have the same resource capacity, one could be hosting a compute intensive batch job while the other runs a disk-bound interactive service.
ASAIK, "Heterogeneity" in the context of Cloud/virtualization has the fixed meaning. There are several layers which might be "heterogeneous": 1) CPU architecture in the hosts are different, which might lead to the issue of live migration; 2) hypervisors are different, such as some hosts running kvm while others running xen, but this doesn't often occur; 3) in one cloud env, there might be virtual machines, containers and bare metals, and even unikernel co-existing, which are also called heterogeneity.