Pros
You feel good about saving customers money. If you are a software engineer, you will get some great hands on experience in developing and managing GEICO web applications, including mobile development. You can pretty much choose to retire at this company as you will have a job for life (as long as you don't screw up - you can get fired). Profit sharing is good. Growth opportunities exist but since no one leaves this company, positions don't open up as frequently. Promotions are from within mostly however. There is a lot to do at this company and it is generally well managed as shown by its steady growth. In regional offices, there are a lot of fun and motivational activities. The head office has a very formal and old-school feel to it.
Cons
They won't pay for graduate education. The benefits are fairly basic and I would say below standard compared to some of the other companies I have worked at (medical, dental). Default life insurance amount is especially low and you have to present medical documents to sign up for higher amounts. I didn't have to do that at other companies who offered a much a higher amount for free as well. Facilities (buildings, etc.) are below average and worst among the companies I have worked for so far. GEICO is basically an acquired taste. I have been here for several years and though not completely satisfied, it will be be a tough place for me to leave.