In large part the C64 and Apple II had their success because it was easy for owners to make the transition from hobbyist to programmer by starting with the built-in BASIC and just working up. BASIC was right there in front of you, always accessible, and you basically _had_ to learn it to use the machine. So it created a ready supply of new content producers.
To program the ST effectively you really needed a C compiler, but of course back in those days that was not cheap at all or even readily available (or very fun on a machine with no hard drive, which was the common situation.)
I can't help but wonder if those platforms could have had better success if they'd just shipped out of the box with a decent BASIC, an assembler, and maybe even a C compiler. Or at least had that available on launch day for a price accessible to hobbyists.