Flu shots protect you only from those particular strains of flu. There are many types or strains of influenza virus. They cant anticipate all that may hit in a season as many are rarish. Viruses also mutate easily. So when they go through the expensive and intensive process of creating anti-viruses they do the most common flu varieties - flu Type A and type B usually. From those you are protected. From other flu strains you arent. It also does nothing against non-flu viruses that cause similar reactions like the noro- and rotoviruses that are nearly epidemic this year. You get the shot to protect you from those you are most likely to get. Its impossdible, or practically so, to create a vaccine for every possible flu strain out there.
Because there is some chance that the flu you get, may come from the ones you have been vaccinated against, be it there are many different strains of flu. Formaldehyde is in the vaccine for flu vaccine Agriflu, Fluarix, Flulaval, Fluzone. Since some have egg allergies they use canine kidney cell protein, so for those having Flucelvax flu shot it contains canine DNA. The flu mist has monosodium glutamate in it.