It is very likely in today’s multi-platform landscape that you may encounter a situation where you have a Linux server running alongside Windows servers or Windows workstations. If you ever want users to interact with the Linux server, for example for backup and storage purposes, you will need to setup some form of interoperability. Samba is a tool that can help you integrate Linux or Unix-based operating systems within your Windows Active Directory network.
Samba supports many Windows networking features, such as file and print servers, authentication, name resolution, and service announcing. For the most part, this means that your Windows users can share files with your Linux users and vice versa without needing to use the cloud as an intermediary. This is particularly useful if you do not want to have to open your network simply to share items in the same office.
Linux machines make excellent Windows file servers. While on the surface it might make more sense to use a Windows box as a file sharing server for windows workstations, a Linux server requires less maintenance and security attention. Linux is also a more stable choice for a file sharing server. Perhaps most importantly of all, you will not have to purchase another license for Windows Server to run on that machine.
For a detailed explanation of how to setup a Samba file sharing server on Linux, see this tutorial.