There are a few things I can think of that could be improved, but these cons in no way come close to outweighing the pros mentioned above.
1. I feel our software offering as an "all-you-can-eat" model doesn't allow us to reap the benefits of new products. As developers, we spend time making products better, adding to them, and improving them. The downside to this is that as we make the products better and add more functionality, there's more maintenance and support required; however, since the additions have no impact on the bottom line of the company, there's no justification to hire more developers to support those products. If product A is "more important" to clients than product B, it's difficult for us tell aside from utilization numbers and/or anecdotal evidence, and both those data points don't necessarily point to the importance of a product, or what someone would be willing to pay for it.
2. I think sometimes our culture of humility allows us to be too nice to people and enable to be less than they can. I've seen people just kind of coast through their job, not really putting in much effort, and continue to be rewarded through salary increases and generous benefits because they're not doing poorly enough to merit a formal improvement plan. Granted, this has much to do with the team member's manager, but it's something I've noticed a handful of times over the years.