Some thoughts
Raid
From a pure storage server view, you have the option of realtime raid. This gives realtime data protection of a pool and performance scale with number of disks. Disadvantage is that all disks must run so you need more energy. To extend such a realtime raid Pool, you must usually extent with a same array, ex raid 6/Z2 -> add another raid6/Z2 = Raid 60 or multiple Z2 datapool.
Systems like Unraid use only the disk where current data is located (other can sleep). Protection is like a backup on demand.
Filesystem
Next difference is filesystem. Newer filesystems like btrfs, ReFS or ZFS offer Copy on Write. This allows a crash resistent behaviour where a crash during a write cannot corrupt the filesystem as atomic writes (ex write data + update metadata) are done completely or discarded.
Cache
Another aspect is cache to improve performance. There are two options. One is a cache disk for read/write. This can improve performance over disks but the problem remains that a crash during write can affect filesystem consistency. On steady read/write you fall back to disks (cache full) quite fast.
Systems like ZFS use RAM for read/write cache. This is the fastest option but you should have enough RAM (4-8 GB min, more is faster). To protect the writecache you can use a hardwareraid with cache + BBU or sync write + Slog/ZIL in case of ZFS.
OS
The main options are Unix (Free-BSD, OSX, Solarish), Linux or Windows. Each has its unique advantages like Applications (Windows), or hardware support (Linux) or best ZFS integration (Free-BSD or especially Solarish where ZFS is native/genuine).
SMB
If you mainly want an SMB filer (The Windows sharing protocol), best support is on a Windows server with ntfs permissions and ntfs alike ACL with newest SMB3 options. On Solaris you can use the multithreaded, kernel/ZFS based SMB Server with quite the best integration of Windows ntfs alike permissions, local SMB groups (allows groups in groups) and a perfect integration of ZFS snaps=Windows previous versions. SAMBA, the other SMB server on Linux/Unix has more overal features but is mostly not as fast and not as easy to setup as the Solarish one.
Other storage services
If you need other storage services like FC/iSCSI, NFS or a cloud access ex via S3/minIO, quite the fastest and easiest option for internet sync and share for a local filer, you may look how good they are supported.
Other application
ex photo-tools, add-ons like web/cloudserver or virtualisation options.
Management tool
Based on the OS you can decide for a webbased management tool to make handling easier than via CLI commands. On Free-BSD you can use Free-NAS or XigmaNAS that is needs less resources for itself. On Linux there is for ex OMV and on Solarish NexentaStor CE or my napp-it that supports a range of Solarish distributions and Linux in a base version.