Please find the response inline:
Question 1- What is the difference between Affinity and Anti-Affinity rules and from where we create them?
Affinitty rule means both the VMs will stick to the same host always. These VMs cannot be separated either by a vMotion or Automated DRS.
Anti-Affinity rule means both the VMs will stay on separate ESXi hosts. They will never be together except in HA if the number of hosts in cluster are less.
Question 2- The below document from VMware states that High Availability does not consult DRS rules for affinity or anti-affinity when a virtual machine is powering on. If anti-affinity rules cant achieve that than what is the purpose of document.& why can only we create rules with 4 servers because as per this document "This requires at least four hosts to support a Microsoft Cluster of two virtual machines"
VMware KB: Affinity or anti-affinity DRS rules are not applied during a virtual machine power-on
Yes HA does not consult DRS for any rules while powering on since HA is a scenario where your host is impacted due to a network outage. So in HA by default your clustered VM network is impacted. So vCenter drives your VM to ensure it is up and running by moving to another host which is running good. But once VM is powered on, DRS will migrate the VM to satisfy the rules. By design, HA takes precedence over DRS.
Question 3- I have two ESXi hosts with Windows clustered VM's VM-A running on ESXi host 1 and VM-B is running on ESXi host 2 how can i make sure that VMHA should not reboot these VM's on other host in case of one Server failure.
Yes you can do that by going to the "Virtual machine options" under "vSphere HA" and below disabling the HA for the concerned VM.