Everyone has different requirements, so you’ll get a lot of different answers.
SmartThings is a very flexible multiprotocol platform, but is NOT a completely open system. You will not have access to the lower layers of the platform, nor to the hub features themselves .( for example, the hub includes a Bluetooth antenna but it is not currently enabled and there is no way to use it at present. )
What it does have is a programming language (a groovy variant) and the ability to write your own device handlers and smart apps and upload those to run over the closed layers.
Even then, SmartThings can and does make backend changes that are neither fully documented nor announced in advance that sometimes break the custom code that community members have created. There’s no way to refuse or postpone these updates.
So it’s an enjoyable platform for hobbyists, but not really hackable the way I’m used to the term.
People have done a lot of very creative things with it, and in particular, it’s one of the easiest platforms to add new Zigbee, zwave, or open API devices to. But a lot of the platform features are black box, and you just have to accept what’s there.
So it just depends what your interests are. Have you had a chance to look at OpenHAB, and if so, what did you think?
Oh, and as far as obvious problems, just read through this category in the forum.