Pros
If you're just starting out in your career it can be a great place to network with a lot of people in your field. You can sample a lot of different job types just by talking to people. They have great mentors that are really helpful. You have to take the initiative to find a great mentor though. They have a lot of internal tools that can be very useful, they can also be a pain to learn since there are so many of them. Web 2.0 technologies are being adopted by IBM and there's definitely a lot of cutting edge stuff you can get involved in IF you join the right team. Good benefits and flexible work hours/location.
Cons
Upper management could care less about the low level employees. Layoffs will hit your department at least once every two years, if not more often. Good performance ratings won't save anyone either. If you don't want to be a small fish in a big pond then IBM will not be for you - nor will any large company. There's a lot of politics and processes that keep things from moving along. The day after laying off thousands of employees Sam will tell the president of the US that creating new "21st century jobs" is important and something that IBM is doing.