Like any other job you must weight out the options. Gov't work as mentioned in your pros is often very stable. This is definitely something to consider. As with anything else you should do a lot of research (as much as possible) before signing on with anyone be it Gov't or not.
While many may swear Gov't work is where programmers go to die this is a general statement that may not be true and frankly may be true in a lot of private shops who don't care about code but just money and getting more customers.
For any job you need to assess what you need and want out of a job and then seek employers that will fulfill this well.
Whether it's a Gov't job or not be sure to research/ask the programming team you are possibly going to join about their coding practices, project management style, team philosophy and processes already in place. Ask if you can meet with the team, talk to them a bit, see the building / workspace. Doing as much up front homework will help you better assess if the team you are joining is a death trap or if they are up to speed on a lot of good practices or even blazing the trail.
You will not find many Gov't programming jobs that are blazing new trails in the overall world of programming or that are on the heels of brand new ideas,processes etc. but THEY DO EXIST if that is your desire. You can also find Gov't programming jobs where they are blazing the trail in the Gov't sector.
I suspect that you will find whether it's Gov't or private that a lot of shops are not going to have it all together and many who are really bad at coding thus it could be considered a place where a programmer goes to die.