Pros
Staff members across offices (regardless of political party) are friendly and willing to help each other out professionally. Everyone understands what it's like to just be starting out or looking to grow professionally. Good employee benefits, including vacations. Some offices even provide flexible hours for staffers who are attending evening graduate school classes. Professional development classes are held frequently. The overall environment is great. It's really like a family. I.e. Not the place to work if you're looking just to punch a time-card and get a check. People really value personal relationships.
Cons
The pay is terrible, especially compared to what the private sector pays in DC. A lot of people end up coming from privileged backgrounds or, if not, have to make significant standard of living adjustments in order to get by (ex. living in group houses or getting second jobs). Opportunities for advancement can be tricky. Advancing professionally can mean waiting for years for something to open up in your office or interviewing at another office, where they are probably trying to promote from within anyways. If you're looking to get promoted (or a raise), nothing is guaranteed. You have to hustle for everything. Daily verbal abuse from constituents. I'm surprised there aren't more staff assistants in therapy from the abuse that we receive from the public.