An aim of some vaccination programmes is to reduce the prevalence of an infectious disease and ultimately to eradicate it. We show that eradication success depends on the type of vaccine as well as on the vaccination coverage. Vaccines that reduce the parasite within–host growth rate select for higher parasite virulence and this evolution may both increase the prevalence of the disease and prevent disease eradication. By contrast, vaccines that reduce the probability of infection select against virulence and may lead more easily to eradication. In some cases, epidemiological feedback on parasite evolution yields an evolutionary bistable situation where, for intermediate vaccination coverage, parasites can evolve towards either high or low virulence, depending on the initial conditions. These results have practical implications for the design and use of imperfect vaccines in public– and animal–health programmes.