As I said, good points and bad points. A single platform can be good, because every program can leverage all features of that platform. Counterpoint: maybe there's no incentive to develop new and interesting features in future versions of the platform.
Multiplatform is good, because they're all competing. Counterpoint: no point in using feature of platform X if it locks you out of all other platforms, or you're coding lots and lots of platform specific code paths. Remember when games, say, would have the software renderer, the directX 9 renderer, the 10 renderer, the NVidia openGL renderer, the ATI openGL renderer, and maybe a vanilla openGL renderer?