Pros
To be part of something bigger, something that is changing the world. To work on products anyone can use, to see your products all over, and to be able to be a consumer of the products you work on. To be part of the excitement and the glamor (from what people see on the outside).
Cons
Much like sausage making....you enjoy the end product but don't want to know how it was made. There often times can be a lot of thrash, or lack of communication that leads to more stress than is needed. And being part of a large company (even Apple) can leave you feeling like your just a cog in the machine somedays. Apple does not do a good job of reviews, or communicating to employees real feedback on their performance and what is needed to get to the next level. Promotions are often based more on working tons of hours or having completed a major task (much easier for developers to show than someone in QA). So often developers are promoted to be a manager not because they'd make a great manager but because they worked really hard, and did some great thing.