Pros
Flexibility, work-life balance, strong technical community, ability for an individual to make a difference (for a large organization!) Good salary and benefits (grass isn't greener when you check out other companies). Also, you can have a long, interesting career at IBM by moving around to different divisions, specializing in industries, etc. if you want change (I've been here 10+ years and never thought I would last that long).
Cons
A VERY large organization that can be overwhelming when you are new. Some of the senior management seems clueless and you have to wonder how they got to where they are (must be related to someone at the top!) I think IBM does a good job of recognizing top performers. Average performers are usually the ones that make the most noise, at least in my division.