Pros
Hands off management, enormous amount of trust in even low level engineers, leadership opportunities for anyone willing to put in the time.
Cons
Can be a hectic work environment, and the expectations are brutal at times. The industry is moving so fast that sometimes you'll put 3 months of (possibly paid, possibly unpaid) overtime on a feature that gets dropped from the requirements list right after you finish it.