Pros
There is little of the overly-rigid rule following that very large companies (IBM, Intel, HP) tend to exhibit. There is also relatively little of the religious self-belief that some more recent companies (Apple, Facebook, Google) suffer from. Most of the people at Red Hat have a good attitude and are pretty easy to get along with. Red Hat is very flexible in accommodating the needs of remote workers (many of the developers are remote).
Cons
The culture is in an awkward transitional phase between small and large company. There is an extremely vocal minority of old timers who tend to react sceptically (to put it mildly) to new initiatives. Red Hat salaries tend to be on the low side compared with US/pacific computer companies, and Red Hat does not tend to issue much stock (if any). Many engineering staff are still working on old projects that they are very personally invested in, and it can be very hard to get people transferred to new work. The travel policy is a little austere, as the company tries to control the costs of sending hundreds of engineers to large recurring open source conferences. In engineering, the best experience comes from starting your project (open source or startup) before joining Red Hat: many projects have long happy later lives at Red Hat, but not so many were started there.