Pros
The company manages to keep fairly flat the inevitable peaks and valleys of cash flow typical of a small company that sells high ticket products in small quantities. Layoffs due to valleys are rare.
Great people on the development teams, and a spirit of teamwork. Workers are given a lot of autonomy and micromanagement is rare. There is little friction due to politics or personalities.
Cons
Development teams are constantly driven to deliver new features on tight time frames, but little recognition is given for their efforts.
Software teams receive hardware for integration late in the product development life cycle, postponing integration efforts that could be started earlier.