No union can protect a truly incompetent teacher from an administration that follows the proper protocol and procedures.
The reason poor teachers don't often get fired is that the union is more organized and knows the rules, while the school administration doesn't have the time and means to follow through with the firing process.
For example, many times teachers (good ones and bad ones) are placed in situations where they are asked to teach subjects that they are not certified to teach. Or, they are given unrealistic class sizes (like the 50 that someone mentioned on the other thread) or special education students without the proper support. Maybe, they didn't even have enough textbooks or other basic resources. If the administration comes down on them, they can turn it back on the school for bending or braking rules/laws.
Here is another scenario, say a student needs to pass 4 of 5 core classes to move on to the next grade. That means a kid can fail math every year and still move on. Now, the 11th grade math teacher inherits a kid who is not proficient in math. Can the 11th grade principal come down on that teacher when the student fails math? No, the teacher has a built in excuse when the kid fails.
Most schools in my area have a head and assistant principal for building with 50-150 teachers. There is no way they can properly evaluate all the teachers and they definitely don't have the time to go through all the procedures to prove incompetence.
I say, shame on teachers who don't care to do a good job and shame on the system for allowing it.
I've heard it put this way...If you give a baker a broken oven, stale ingredients and not enough time to bake, don't expect good bread.