There’s a difference between “works with zwave,” “controllable through the standard app supplied,” and “supports all zwave functions for a certified device of the declared standard type.”
SmartThings just recently joined the zwave Alliance, which is good, but at present the ST hub is not a certified zwave device, so it falls into the “works with zwave” category. Meaning most, but not all, certified zwave devices can be made to work with it at least in an on/off fashion through custom code, but not all zwave supported features are offered. or available through the standard app.
A perfect example is zwave scenes. The standard ST app has Hello
Home Actions, which are limited option scenes, but you do NOT have the ability to set every standard parameter for every zwave certified device. Just some parameters for some devices.
Another example is secondary controllers. Some zwave certified handheld remotes work with ST, some only work after they’ve been initialized by a nonST hub. The ones that don’t work are an older type using a command that ST doesn’t support. But zwave is supposed to be backwards compatible, older shouldn’t really matter for a certified device.
People in this forum have been very generous and offered many custom device types, which is great, but the concept of zwave is that custom code should not be required for certified devices doing zwave supported functions. Only if the devices offers nonstandard functions.
With the announcement of the second gen hub and the very recent announcement of zwave alliance membership I am optimistic that by summer 2016 the ST hub will be zwave certified and offer full support through built in standard device drivers and that the new rules engine (announced separately) will allow full zwave scene management.
I really like the support ST offers for those who enjoy custom coding. But while I can code, i don’t want to. (I am quadriparetic, and using voice to enter and debug groovy is tedious.) So I want to see full standards adherence PLUS the development platform.
I’m really happy that ST lets me mix zigbee and zwave devices and wifi devices under one controller. But I want the same granular control I would have if I installed any certified device under a vanilla certified controller. Including backwards compatibility if the certification supports it.
that’s not what we have today, though. We have some support for some devices under some control features. With much more support for many more devices and more control features donated freely by individual coders through custom code.
I do like ST and it works well for several important use cases at my home. I’m definitely getting my money’s worth at the present time. But I don’t buy any new device without first verifying here whether it will work in a way that meets my specific current need. And I’m waiting on some big projects until less custom code is needed. 
edited to add
@gecko corrected me to note that the ST hub is zwave certified as a generic static controller at the basic level, which does not require support for all command classes, only Basic. ST staff have also noted that some additional command class support has been added . All good. I had been trying to avoid mentioning the competition, but I should more accurately say that the conformance statement for the v1 ST hub supports fewer command classes than, say, Vera, something I found surprising.