Pros
Depending on the employer you are assigned to, the career opportunities are pretty wide open. I worked as a "Programmer" for one of Manpower's clients and ended up doing database development, audit compliance, documenation, some project management as well as programming. It was a very diverse position because the client needed help in a lot of areas. I also appreciated that you could accrue vacation time after a certain period, which I thought was highly unusual for a temp position. Their time entry web tool was very nice and it was great that you didn't have to submit paper timesheets.
Cons
Well it's a temp job so the staff barely know your name but when something bad happens, they pay attention (like I had a personal situation and then they knew who I was). Plus while they do have benefits, they're pretty spendy, like the medical insurance. I also wished I could've gotten the vacation time but you had to be there like 18 months or something. I wish that time span would've been shorter. I once got a "reward" for getting a raise from the client which was a cute little clock, but the battery was dead so I had to pay $10 to get my "reward" to work.