Pros
Expectations are very clear and information about how the company is doing overall are always communicated by senior management on a regular basis. Compensation always seems very fair and you generally know exactly why the decisions regarding your compensation have been made.
Cons
Many of the software products developed by IBM are less than exciting. There are very few products that are truly cutting edge. For someone who wants to be working with the latest technologies I would recommend making sure that you will be working in an area that holds interest for you. In addition, different parts of the company tend to be very insulated. Moving from one area to another can be difficult mostly just because you don't really know what's happening in other teams (management has no problem with people moving around).