Its a nice place to be in if you think of it as a marathon and not a sprint
Pros
It pays to work here for a period of time. It is a world unlike any other and requires time and effort from an individual to help align his/her goals to the company's goal and understand fully the freedom the company gives. The opportunities to grow are immense and are driven as much by the employee as by the management. One's career is truly in one's on hand. Patience is a virtue that one acquires with time in IBM, but its well worth the effort.
Cons
One of the problems of being a place where it takes time to pay back both tangibly and intangibly, is just that, it takes time. Someone in a hurry will not enjoy the place. Once you get in, your salary increments are sporadic and will never be in line with those hired after you join. Negotiate well when you join.