Pros
Ok pay. Good benefits. 401(k) *and* pension. Nice people. Regular 9/80 hours, no crazy overtime. Very flexible usage of vacation leave time. Opportunities for senior developers to work on very large areas of code.
Cons
This is focused specifically on working as a software developer, and does not apply to other positions. The company is focused primarily on hardware and therefore does not care, or even know much about software. The leadership is almost entirely clueless about what a large swath of the company actually does. The software processes are ill suited to produce quality code. New and exciting ideas are almost non-existent. Experimenting with new tools and technologies comes along once every 5 years or so. Purchasing tools that make a software developer's job easier is entirely out of the question except in very small quantities. There is a mid sized training bureaucracy that every employee must continually stay up to date on, yet none of the training applies to the job of software developer. Training on what, why and how the software works is non existent, and must be manually repeated to every new hire that comes along, without any recognition for the effort of the person doing the training. Due to the nature of the software being a Windows desktop application, or embedded processing work, the skills don't really transfer if you're ever looking for another job. Most job ads these days want different skills. So the longer you stay working on outdated technologies, the less employable you are elsewhere. Beware the trap.