My intuition regarding vrrp priority was to avoid same value. However according to RFC2338 and the souce code of the keepalived-1.1.13 ,  router that has equal priority with the current MASTER won't escalate to MASTER. This confuses the preempt = false (nopreempt) concept, where higher priority owner in BACKUP(or FAULT) state never tries to become MASTER while recieving VRRP advertise packets. The nopreempt option should explicitly prohibit preemption. This is not the case for the keepalived when the router is in FAULT state. 

Whenever I want preemption I have to set equal priority to both routers. I think this behavior is not good and should be changed. The following will make nopreempt option effective in FAULT state;

diff -cr keepalived-1.1.13_orig/keepalived/vrrp/vrrp.c
keepalived-1.1.13/keepalived/vrrp/vrrp.c
*** keepalived-1.1.13_orig/keepalived/vrrp/vrrp.c Wed Oct 11 18:45:04 2006
--- keepalived-1.1.13/keepalived/vrrp/vrrp.c Mon Apr 2 00:35:13 2007
***************
*** 881,887 ****
return 0;
} else if (vrrp->effective_priority > hd->priority ||
hd->priority == VRRP_PRIO_OWNER)
! return 1;

return 0;
}
--- 881,888 ----
return 0;
} else if (vrrp->effective_priority > hd->priority ||
hd->priority == VRRP_PRIO_OWNER)
! if (!vrrp->nopreempt)
! return 1;

return 0;
}
I hope this helps.
 
2007-04-17
RFC3768  seems the latest RFC as of today.