I was a contractor for 21 months. The working environment, the people, etc. are all top notch. Since I wasn't an employee I won't comment on compensation/benefits.
Advancement is definitely possible (I witnessed it), and employees tend to stay around for long periods (all but one of my immediate peers were there 4 years or more).