I have seen some very poor coders stay in programming for a very long time as well. This is hardly unique to contractors. I think that in the middle of any large organization you will find a large number of people that just drift along either because they have one particular piece of knowledge that makes them hard to replace or else they are simply to much trouble to fire so they are stuffed into a sinecure and left alone.