Pros
Compensation is good, the people are nice, and office politics are minimal. The environment is very open and, as long as it's on your own time, there are resources for research and development with little interference from management. There are plenty of bright people who've carved out a niche (or silo) and been with the company for decades.
Cons
Product development is disorganized. It gets no support from middle management, and only reluctant recognition as a necessary evil from upper management. With no guidance, comes no coordination, no discipline, and no quality. Some teams are many times larger than needed because this produces so many bugs. Middle management myopically uses bug fixes as the sole measure of engineering productivity. Perversely, there is no perceived up side to producing fewer bugs.