Pros
You get to work on very cool products and learn a lot while doing it. If you work on the hardware side you work with very smart and motivated people. In fact, most HW engineers are among the best in their areas of expertise. As a hardware engineer you travel a lot (not a 'Pro' for me, but some people like traveling). They fly you business class if you cross an ocean, and you can stay in very nice hotels. If you need a tool for your job and you can justify it then the cost is not a concern, so you get to work with very cutting edge tools.
Cons
The hours can be long and lots of travel (more than I'd like). They've been penny pinching over the past few years in terms of benefits and travel expenses (travel policies get stricter/cheaper each year). It can be surprisingly difficult to order Apple equipment for internal use. Most people seem to burn out after a few years, surprisingly few engineers have been at the company for more than 5 years.