Debian/Ubuntu guests under KVM don't shut down properly
KVM just sends an ACPI signal to the guest to tell it to shut down. Of course, this means the guest needs to do something useful when it receives the signal! By default Debian/Ubuntu guests don't.
Solution: install acpid
in the guest.