Pros
Lots of technical, multi-disciplined engineering problems to be solved if you like having challenging work. Never been bored or feel like I'm doing the same thing very long. If you want to move around to different projects and roles, there is usually a path to do that. Lots of career growth potential in the technical track as well as the management track. Work-life balance is good because overtime is usually compensated, so if you have to work crazy hours you'll at least get rewarded for it. I've always had good managers who are invested in my success and growth.
Cons
Projects are very siloed and can have different cultures and leadership, so the experience will vary depending on which one you are assigned to. Technology and software discipline can be behind the times on some projects. Legacy hardware and security restrictions limit being able to take advantage of the modern languages, libraries, and tools.