Pros
The benefits and salary are good. Work life balance is also good. Work is interesting and it's possible to have a life and a family along with a good high tech job. Company culture / values / are good. It is an honest, decent company.
Cons
Aside from salary, not much opportunity for participating the company's success. Very few employees get stock options, and bonuses are miniscule, when they come at all. Most new hiring is being done overseas, as IBM is run by accountants, who think that a developer in one locale is the same as any other, so why not hire the cheapest engineer in the world. This leads to globally distributed teams which don't work very well (get up early to meet with team members in Europe, then stay up late to meet with other team members in India and China -why not?) The company;s practice of rotating executives every 2 years leads to a lot of dysfunctional teams. Short term decisions are made, because executives know that they won't be around a few years later when the cost of bad decisions comes due.