I think the majority of developers & companies doesn't want one product that does everything. It's better for the user to have clear APIs, solve specific problems very well and then make it easier to integrate with other products. It should all be building blocks that work well together. You should be able to use, e.g., GitHub because you prefer it over Bitbucket, integrate it with Codeship (or whatever other CI/CD solution you like) and then add other products like Percy or Code Climate as needed. There's a use case, and some people prefer to get everything out of one hand, but if we look at how software is getting purchased nowadays, it's more and more team-focused, fewer company-wide purchases. That's great. Pick the tools and products that solve your specific problem very well, as long as they integrate well with what the rest of your team uses.
Now that doesn't mean you couldn't build a company that does everything, or that Microsoft couldn't start acquiring and then does everything (they kind of doing it already, same with AWS). What we can see, though, is that the quality of specific products isn't that great. That's not surprising. It's easier to do a few things very well vs. 200 things.
And yes, I'm biased because of Codeship :)