the class libraries don't match.
Its kept the community fragmented and unable to gain critical mass. I'm not saying all Smalltalks should be identical, but there ought to be base equivalencies at some level - for instance collections and stuff.
Just like you have portable C and then platform specific C, there ought to be similar facilities in Smalltalk. It would allow some libraries to be developed once and shared among all Smalltalk users regardless of implementation.