Samba is a server module and an open source CIFS (Common Internet File System) implementation created by Aussie Andrew Tridgell. Its two key programs are smbd and nmbd, which implement the four basic CIFS services:

File & print services (provided by smbd)
Authentication and Authorization (handled w/ an authentication server called a Domain Controller)
Name resolution (two types: broadcast and point-to-point. Handled by nmbd)
Service announcement (browsing) (a browsable list of services handled by nmbd)

Note: BSD systems can use smbclient to access files with samba, but using it to access other disks as easily as with NFS would require an smbfs kernel module (for Linux).