They are all based on Illumos where the OS, driver and storage service development for FC/iSCSI, NFS and SMB is done (think of it like Linux vs distributions) so the SMB server is always the same but every distribution has a special use case target.
SmartOS (Joyent/Samsung) is base of an enterprise class virtualisation solution like ProxMox or ESXi. OpenIndiana follows the idea of former OpenSolaris with a GUI and additional desktop apps with a similar use case like Ubuntu. OmniOS can be used for production server and storage systems due a stable, long term stable and even a commercial support option with a use case like Debian or RedHat.
My main use case is storage and this is why OmniOS is my main platform.