Network Attached Storage (NAS) has been used to refer to file storage over a protocol like NFS (Network File System) or SMB (Microsoft’s file sharing protocol). These protocols know about things like directory structure and files.
Storage Area Network (SAN) refers to block storage over protocols like ISCSI or FibreChannel. These protocols treat the storage more like a raw disk, and deal with objects like LUNs and blocks.
A NAS storage device might be reached via a dedicated storage network. Or SAN storage can sometimes traverse wide-area links, or use shared Ethernet network resources. And many devices support both sorts of protocols, so they are both NAS and SAN.
NAS is like another computer on your network which can ask for files. It gives the file directly and internally manages how data is stored, how files are backed up etc etc. NAS unit understands files, folders and volumes.
SAN is like a large hard disk shared among different users.
If a user/server wants to access storage, it will be given a dedicated portion of the total available space (called a LUN). The server has to manage files itself and the SAN unit only understands block-level addresses.
SAN is generally faster and the advantage is having the hardware shared across servers to avoid wasted capacity. Each LUN is private to the server and can grow or shrink in capacity based on requirement.
NAS is great for sharing files across users and servers. Both generally offer features like snapshot and backup as well.