SMB/CFS and NFS each have their own advantages and drawbacks.
I don't claim to be an expert on either.
I have yet to set up either in FreeNAS, but I set up SAMBA manually by editing smb.conf on my previous Ubuntu storage server.
SMB/CIFS Benefits:
- Native Windows Support
- Security (at least percieved) better on open networks
NFS Benefits:
- Can achieve higher transfer speeds
- Typically uses a lot less server CPU power
- Can take advantage of multiple CPU cores per instance.
- Native support for Unix like systems (BSD/Linux/Android/OS X)
If your network is closed (firewalled, you know and trust all clients on it) NFS will typically be the best solution for performance.
It's packet transfers are more efficient, so there is less overhead on the network, it uses less CPU load and when it does is multithreaded so it can spread this load over multiple cores. This can all result in higher transfer speeds. It can be a pain to have to install NFS on visitors computers though, as most people have Windows machines.
I don't know the details in security differences between NFS and SMB, but its often suggested that SMB is a better choice for security (which is funny cause it originates from Microsoft :p ) This may just be a perception and not reality though, not sure.
SAMBA is single threaded, and the project has clearly stated it will remain that way. Due to the way it works it simply would not benefit from multithreading. It uses one thread per connection, and as such if your server does not have a fast CPU, can wind up slowing down your max per/connection transfer speed. However, each connection gets its own CPU thread, so over multiple connections, the theoretical max speed will be similar to NFS from a CPU perspective.
NFS - I understand - also has lower network overhead, and as such should be able to get closer to the 128MB/s max theoretical transfer speed possible over a gigabit Ethernet connection than SAMBA, if CPU and drive speed is fast enough to allow Ethernet to be the limiting factor.
My plan is to set up all my clients via NFS, but also have a SAMBA guest access set up for visitors.
Hope this helps,
Matt