PowerState if the state of the virtual machine itself.
vSphere 6.0 Documentation Center
PoweredOff
PoweredOn
Suspeneded
Everything related to .guest is obtained through VMware tools and will provide information from the OS itself.
(VMware tools must be installed and running properly in the OS to get anything from this property)
vSphere 6.0 Documentation Center
NotRunning
Resetting
Running
ShuttingDown
Standby
Unknown
Could I have for example a vm with PowerState = PowerOn , while its Guest.State = not running ?
Yes.
For example, if a VM is started and VMware tools have never been installed on it, it will report exactly that.
From the vSphere Client you will get in the Summary>General>VMware Tools
Not running (Not installed)
You will get even more information by using the API via PowerCLI.
.extensiondata.runtime.PowerState #poweredON
.extensiondata.guest.GuestState #notRunning
.extensiondata.guest.ToolsStatus #toolsNotInstalled