I'd say the main problem with Smalltalk is that it tries to pretend the OS doesn't really exist. Which is fine as long as you stay in Smalltalkland, but around the edges of the application where it has to talk to databases, the filesystem, the network, etc it gets very messy. I dare say if you could work in a 100% Smalltalk environment it would be very slick, but Smalltalk very much doesn't play nicely with others. Where as (just as an example) Python does.
That was one of the original problems, but it doesn't apply to all implementations. Look at Dolphin Smalltalk for example. At its time, it is easily the best windows development tool, having very nice integration with native controls and ActiveX support. I would go as far as saying using it for only exploring and poking at ActiveX controls alone is well worth the license fees. And look where it went. Quite sad really.