I've worked with several network device vendors in my 10+ years of being in the industry and my favorite continues to be Cisco IOS. Overall, Cisco IOS tends to be the most stable, the most intuitive, has the best TAC support, and has the best knowledge base articles and white papers.
FreeNAS is well suited for most storage serving scenarios, whether it be for an office file server, backup destinations, data replication across the internet, or as backend storage for virtual machines. It can serve various types of clients via a plethora of standard protocols and can easily integrate with existing infrastructure using LDAP authentication and so on. It's pretty simple to use (it helps to have at least a basic understanding of the underlying technologies) and almost maintenance-free. One scenario that springs to mind that it may not be appropriate for (yet) is as S3 storage. However, S3 functionality was added in a recent release and may have improved greatly since then. I'm sure it will eventually work very well for this.
By this point, there are several "flavors" of the Cisco IOS such as XE, XR, and the standard Cisco IOS. While they are all fairly similar, there does exist syntax differences between them. It would be ideal if at some point in the future, Cisco is able to unify all of them into one standard operating system which would use the same syntax across all platforms.
While overall Cisco does a great job of QA'ing their IOS, no matter the release, there's always some minor bugs. I think it's important that Cisco continue to pour resources into their QA team to test their software.
While I'm very familiar with the graphical readouts of "show processes cpu history" I would love for Cisco to eventually find a more intuitive way to display this data. I can't begin to count how many times I've had to teach more entry level (and even mid level) engineers how this graph is interpreted.
I do wish that Cisco had something similar to Juniper's "commit check" or "commit confirmed". This helps validate the changes you're about to apply, and catch errors, so that you have a better idea of the impact of the change.
IOS is pretty intuitive as you can use the question marks to check for all the options or parameters for a specific command. Also having the tab key to complete the words is nice as you don't need type the complete command. Using also abbreviated commands with 2 or 3 letters instead of the whole Word makes it a great OS.
Cisco has a better presence on corporate business so it makes it easier to find engineers and technitians to support your network. Also a lot of Universities and schools use it as a reference and use it to teach and prepare students so it will be easier to recruit people with cisco preparation.
FreeNAS effectively uses all resources really well and it is highly recommended for in premises NAS. It has unlimited ROI as it is really free and open-source. The only payment we need to pay is when we need any support from those guys. FreeNAS helps us to effectively do our work with the legacy systems as it manages all the components really well. FreeNAS although rebranded to TrueNAS will still be there until our legacy systems run.