As someone who has some expertise in this:
The Flu vaccine is actually pretty effective. After all, they pretty much make a new one each year. They've had quite a bit of practice by now. However, getting a vaccine is not a full protection against the flu. The problem is twofold:
First, the flu virus mutates very quickly, and likes to mutate in ways that change its antigen "signature". Though there are some interesting attempts at more general vaccines, currently, you can't even make a vaccine for H1N1 flu strains. You have to pick a specific subgroup of H1N1 strains, because even within the H1N1 type, there are variations that appear differently to our immune system. The same holds for the "old" H3N2 flu, and the even older H2N2 flu. It's not uncommon for a strain to mutate enough over a single season that last year's vaccine no longer works.
Second, because there are so many different strains in the wild and they shift so quickly, you can't create a vaccine that is targeted against all of them. Why not? That wasn't part of my specialty. I think it has something to do with confusing the immune system with too many similar things. Anyway, the point here is simpler: Vaccine makers don't even try to protect against all the strains. They use clinical samples to determine which strains are looking to be the most common, pick the top four or five, and make a vaccine that protects against those.
So, what happens if they guess wrong, and a rare strain from the previous year suddenly spreads wildly? Well, you don't get vaccine effectiveness. What if one of the popular strains goes through some mutations early in the season? Well, same effect. You've probably got a vaccine that won't help much. Is this the fault of the vaccine? No. It's the fault of the virus that mutates faster than vaccines can be created and tested. They are trying to find ways to make them faster, but that would only work if you were willing to get multiple shots per year. The better solution is to find a way to make vaccines that apply to larger groups of strains, but it takes time and lots of data.
Of course, this all gets thrown out the window if you're a fan of Intelligent Design (aka: Creationism). In that case, vaccines don't work because God hates you and chose to use his powers to fiddle with a Germ Spirit and make it immune to the poisons created by the Unbelievers. He's punishing you for not having more faith in him. Of course, there's nothing you can do in this case, so there's no point in trying to understand exactly why it happened.