Interesting people. Many different projects for interesting companies. Sometimes with big names.
Chance to learn different technologies and gain experience in different areas.
Cons
A lot of times middle management taking "easy win" decisions. Easy win for them and not for developer or client. They trying to please client but not spend much time and resources at the same time.
Project quality can be pretty low due to "saving resources".