Compared to most disease-causing viruses, influenza is a particularly hard nut to crack. A two-dose vaccine in childhood protects you from measles for life. Smallpox is similarly preventable with a single vaccine. But to evade the flu virus, we need a different vaccine each year which, even at its most effective, can fail to protect against all strains of the virus.
Why?
While the measles virus of your childhood is essentially identical to the strains circulating today, influenza is constantly changing. Its outer protein layer, which our immune system uses to identify and neutralize the virus, evolves rapidly to avoid detection.
Influenza's shifty nature has thwarted scientists' efforts to develop a vaccine that could be administered once, or rarely, and provide long-lasting protection against most or all strains. Antiviral drugs like Tamiflu, administered post-infection, can be effective, but some quickly shifting strains soon become resistant to the drugs.