Pros
100% matching 401K contributions. Use of leading edge technologies and tools. Flexible working arrangements. Great experience in working with highly skilled and knowledgeable technical professionals. Pride of working for a renowned and respected technological giant. When you mention you work for IBM, people automatically respect you and treat you differently, in a postive sense.
Cons
Too many processes and inefficiencies to get the simplest task completed. While the working arrangements can be flexible (depending on your manager), there is a lot of pressure to get work done even though there are limited resources available. If a team member retires, resigns (yes, that happens) or is "resource actioned" (i.e., laid off), IBM does not replace that member, and remaining team members are expected to pick up the slack. There is no sense of job security, no matter how well an employee performs, or how well the division or business segment does in terms of generating revenue. There does not seem to be any rhyme or reason to decisions to lay off an employee. I've have personally seen IBM lay off highly skilled, knowledgeable, positively-reviewed, and experienced employees, in very successful, revenue generating projects. Too many meetings. By the time I get out of meetings, almost the entire day is gone.