Pros
IBM is the world's largest IT company with opportunities for employees to grow their career in multiple technologies and locations. The company puts a lot of stock in mentoring relationships and networking which allows you to talk to (and work with) some very intelligent and world-changing people as an employee. Within many divisions of IBM, work is being done on the cutting edge of technology. Your work is often reasonably well defined and you have the benefit of working for a very large company when dealing with clients and business partners. Generally you are expected to work 40-50 hours per week, but my experience has also included times where more or less were required.
Cons
The company is quite top-heavy (at least within product development) right now so there are often a large number of employees filling the limited number of jobs at the higher levels. Many of these people would not get to their current level under the promotion rules of today but IBM has not done many demotions over the last decade. A lot of information is not shared by HR or the leadership team to combat the fear, uncertainty, and doubt caused by recurring layoffs. There is a lot of effort by certain groups within the company to promote their own technology/projects, including forcing it into products and offerings where it does not belong, in order to justify its(their) existence. A lot of good ideas are ruined by the fact that so many people have a vested interest in having "their stuff" included in the next big thing. Even though the opportunity to move from job to job exists within IBM, it is often difficult to move because everyone is already overbooked and understaffed with no option to back-fill your position. A lot of services jobs within the company require very high billable-utilization rates which result in employees not even being able to take all of their vacation without missing their targets.