Plant resistance (R) genes are members of large gene families with significant within and between species variation. It has been hypothesised that a variety of processes have shaped R gene evolution and the evolution of R gene specificity. In this review, we illustrate the main mechanisms that generate R gene diversity and provide examples of how they can change R gene specificity. Next, we explain which evolutionary mechanisms are at play and how they determine the fate of new R gene alleles and R genes. Finally, we place this in a larger context by comparing the diversity and evolution of R gene specificity within and between species scales.