Why is drug resistance common and vaccine resistance rare? Drugs and vaccines both impose substantial pressure on pathogen populations to evolve resistance and indeed, drug resistance typically emerges soon after the introduction of a drug. But vaccine resistance has only rarely emerged. Using well-established principles of population genetics and evolutionary ecology, we argue that two key differences between vaccines and drugs explain why vaccines have so far proved more robust against evolution than drugs. First, vaccines tend to work prophylactically while drugs tend to work therapeutically. Second, vaccines tend to induce immune responses against multiple targets on a pathogen while drugs tend to target very few. Consequently, pathogen populations generate less variation for vaccine resistance than they do for drug resistance, and selection has fewer opportunities to act on that variation. When vaccine resistance has evolved, these generalities have been violated. With careful forethought, it may be possible to identify vaccines at risk of failure even before they are introduced.