I’ve run SmartOS, but mainly use OmniOS. As with all these, they are very good but make sure to run them on supported hardware. They have good documentation, very small community, and if you run into problems then debugging them is very possible - but not for the technically challenged.
OmniOS I basically run as an appliance and has been trouble free since the start.