Pros
Canonical is a great place to work if you don't have to interact with upper management. Good managers will do what they can to protect their team. With that comes engaging work on products used across the industry. Contributing to software that is improving the broader Linux ecosystem is very rewarding. Health care benefits in particular are very good.
Cons
The CEO and CTO are truly awful. They both micromanage the company to death. It is not uncommon to have meetings where literally every person on the team agrees that something is terrible, and so somebody asks why don't we fix it, and the answer is that the CEO or CTO has dictated it. The CEO will hijack planning meetings so that some minor feature of some minor product looks exactly the way he wants it to rather than how an engineer or PM designed it. It is not uncommon to see the CTO engaging in flame wars on Twitter and mailing lists. The company has recently added a new hiring process that requires things like writing multipage essays with questions going back to high school, along with IQ tests and personality tests. Candidates can make it through the entire months-long process only to be rejected at the very end by the CEO who hasn't even talked to them. Even though a large portion of the company has raised objections to this process, senior leadership refuses to listen or change course.