Pros
Since NASA is a very large organization, your experience is going to depend greatly on the center/project you are involved in. I was fortunate enough to work for an organization (Mission Operations) that is one of the best in the world at what they do. I was given training and experience in both technical topics in my field and also topics such as leadership and team management under tight time pressures. There are some upsides for working for the government. I had some freedom to spend some hours on technical topics that appealed to me, and I was given a level of responsiblity (for the number of years I've worked here) far in excess that what I had when I worked in the private sector. I was able to work on exciting problems relating to spaceflight. While they were extremely challenging, there was a lot of room for me to solve them and gain recognition and promotions through my demonstrated ability.
Kontras
Like any government job, there is a bureacracy that can be frustrating (although I'm certain it's far less stifling than any other government agency). Some promotions are not available until you've gained some years of government service, which can hold back middle-career professionals who hire in with a lot of experience. Hiring process is byzantine at best, and slow.