Pros
Decent salary and benefits (not on par with some BigTech, but being tax-free is a saving grace).
Good work-life balance and mostly stress-free environment.
Good workplace conditions (your own office).
Many people are actually interested in their work.
Cons
Zero growth opportunities or career development - organization can't grow (fixed headcount) and no-one ever leaves (no rotation), so whatever job you start with, that's it. Majority of people have been working there for 20-30 years, so you're always going to be considered a "junior".
Technology is a russian roulette - you might work with something recent, or you'll be dabbling in necromancy. Most projects have a single point of failure, one "responsible" person who is the only one who knows anything.
People are fractionally allocated to projects - 10% here, 15% there... This means either constant context switching, or you need to wait until the next year because they already "used up their allocated time".
People on indefinite contracts are criminally overqualified. 20-30 years of experience, doing the work of a junior software developer.
Most benefits are tied to your social status rather than your work (eg. having a spouse and children), so if you don't tick those boxes, your employment conditions will be significantly worse than someone else's doing the same job.