Pros
Paycheck, benefits, a line to put on resume. Happy hours which became less common.
Cons
Work was nothing like advertised. It was a bait and switch and potential setback for my career even when asking for work lining up with career goals. Work overall was dull and uninteresting. "Contract to hire after 3 months" turned longer and they actually "forgot" to on board me until I pressed. Constantly forgotten about in my role. No career development. I saw coworkers let go without notice like a disposable object when the client suddenly changed direction on their projects. Clients could be abusive towards you as a contractor and there wasn't much you could do about it. Always worrying about being the next to be "let go" due to irrational clients and feeling dehumanized on the job became depressing and anxiety inducing quickly. "Unlimited vacation" which of course is just a way to legally jip you out of any time off (if I took time off, I was reminded constantly that it might not be a good time and it never seemed to be). No cohesive culture among teams and seemed cliquish. Some of the co-workers were amiable and good, but many were incompetent in their jobs. Good development practices were eschewed to move through projects at a quick pace. Some had no experience which is okay to start out (i.e. junior developer), but had no guidance and were learning bad practices not in accordance with industry standards setting them up for harm to their careers. Some of the client's employees were disgruntled, arrogant jerks who looked down on us as contractors and treated us like crap.