Pros
IBM is very flexible and their are a broad range of jobs to choose from if you are willing to raise your hand. Most of the successful people jump jobs every 2 - 3 years. The hours are flexible and you can get a lot of jobs where you can work almost exclusively from home. If you are a solid developer you probably won't have to work to hard to stay ahead so you won't be putting in tons of overtime.
Cons
This company loves process more than any other place. They care about making sure they are up to ISO rules more than getting out a quality product to the customer. This leads to their strategy of buying up innovative companies sucking their customers dry and then moving their products to Asia/Pacific for maintenance. Oh yeah, and even if the stock is doing great, and profits are up the Senior Management makes sure that your division will miss one metric so they can give you little to no raise and a small bonus.