I always thought it was really just the main mechanism for avoiding pension costs, because even private companies love this idea. Why not have your in-house IT departement build the city-wide payroll system? Because when they are done, they will loaf around for 15 more years and then collect a pension while they go off to their second career.
Why does Microsoft have so many contractors? Because they have to treat their real employees much better than some contractor will treat his.
/jordan