I think you're doing all those languages bitter injustice. Unless you want to argue that Windows is clearly the better operating system amongst its competitors - in which case, I have nothing to say, anyway.
I would argue that the proliferation of C is due mostly to its good performance (potential) on all but the very slowest of platforms, the sheer amount of coders its conceptual simplicity has afforded it, and that it is low level enough to allow its use for just about any task. Combined, these factors mean it can be used for pretty nearly any job - regardless of whether it should.
I believe the largest contributor to the developments as they happened was how far LISP and Smalltalk and others more were ahead of their time - not only conceptually, but also in terms of hardware demands. With the rapidly growing hardware resources and scale of software systems, the necessity of such advanced paradigmata to realistically cope with the complexity is being "discovered". Consequently "modern" languages are drifting towards concepts pioneered by Smalltalk and LISP decades ago. About time I say..
Makeshifts last the longest.