Probability of failure: I like the idea of OSS but if one thinks of it as a software development approach/methodology/philosophy, or whatever you want to call it, and would look at the big picture of success and failure cases one would have to draw a pretty bleak conclusion. It does not seem to work very well on average! Yes, every proponent of OSS will produce a nice list of some impressive OSS projects and certainly Android could be considered THE poster child of OSS. But for each successful OSS project there are 10,000 dead or semi dead ones. Imagine any other field with these odds. Imagine for instance bridge design. If only one out of 10,000 bridges designed and implemented would be actually used or usable, that would be terrible.
Innovation: Also, take that 10 most successful OSS project list and remove all the items that are OSS projects that are highly inspired by non OSS products predating them (e.g., Lunix/Unix, Gimp/Photoshop, OpenOffice/Office, Android/iOS, ... ). I am not necessarily against these kinds of projects but it is really hard to consider them innovative. Now what are you left with? The answer is not much.
As an approach OSS has not worked well on average and nothing has really changed over the years. There is no real trend here. The fact that there are some, very few, truly successful, OSS projects now could simple be the result of the fact that there are just MORE OSS projects. In other words, the average chance of an OSS to have really impact has not improved at all. This is simply a number game with no qualitative shift of any kind. Also, lets not kid ourselves. Most end users really care about the FREE part of FOSS and not the fact that they could access or change the source. They want Foss not fOSS.
Are the successful projects successful because of OSS or in spite of it? The answer to that is less clear that is should be. As a user, for instance, I may or may not like Linux for desktop. The fact that it is free is completely irrelevant to me because I value my time. If Windows or OSX works more efficiently for me just a little bit I will not hesitate one second to buy either one. However, and more importantly, as a developer, the idea of developing a product for an OS that already is a niche product (which would be ok) but then split into however many distros makes Linux a non starter. I have no interest nor the capacity to track all these versions. The more conceptual question is if there is an intrinsic force to OSS that makes it more likely to fork into different versions compared to their commercial versions. As far as I can tell the answer is yes. For developers and end users this is ultimately not a great thing. Even OSS projects with good control, e.g., Android, are becoming fragmented in ways that are gradually turning into a problem for developers and ultimately for end users.