VMs have the ability to demand more memory than that with which they are configured, so the difference between the two is how aggressive you want your policy to be. Consumed is only going on what the VM has as its working set while demand will look at what it may be requesting but cannot receive.

Memory Demand is how much the virtual machine wants to use. It can be greater than the usage because VMs can ask for more ( but they may not get it, which will led to waiting until they can get it). So, if i want an approach more agressive, I would choose this option. I understood this one, thank you!!

Memory consumed i didn't quite get it. Is the value that is configured? Or is it the value that the VM is using? And by using does it means active pages?

Memory Consumed is what the Host has granted to the VM but does not reflect memory that the Guest OS has recovered from terminated processes from running processes i.e. the Host does not know or track the Guest OS's

Memory consumed is derived from all the memory the VM has ever requested, so e.g. Windows zeros all memory pages at boot so normally all allocated memory is consumed.

Memory demand is derived from active memory, which is a estimated value from recently touched memory pages (see Understanding vSphere Active Memory - VMware vSphere Blog ). This is normally much lower than consumed. But I wouldn't trust on it and use an in-guest monitoring or if not possible the Guest|Free Memory(KB) metric from VMware Tools inside vROPS.