Ironically, if you are a contractor going through a staffing agency, when you are "fired" from a contract, you generally still get paid something by the agency and get "bench time" to train up your skills or work on internal projects. Sometimes contractors have better job security from a paycheck perspective.