I've heard others talk of disabling NetBIOS, but over the years I have never understood exactly when this protocol is required. The wikipedia page explains very abstractly what it is, but not which products rely on it. I'd love to disable any services I have no use for.
This blog post does a pretty good job at explaining what requires NetBIOS. It includes a few examples of programs that need it as well.
To summarize, every machine with NetBIOS will broadcast its name, IP, and any services every 60 seconds. If there is a WINS server configured they will register with the WINS server instead and the network will be much quieter, but EVERY machine needs to be configured with WINS, the ones that aren't configured will continue broadcasting every minute.
NetBIOS is needed to join a domain and there are quite a few legacy apps that were designed around it and therefor need NetBIOS to function properly. Here is a short list taken directly from the above blog post link.
Exchange 2003 with certain Outlook features McAfee Enterprise ePolicy Orchestrator Symantec Endpoint Protection Symantec Backup Exec Computer Associates AV SQL Mapped Drives Printer sharing (not published in AD)
Full credit for this information should go to the author of the referenced blog post Ace Fekay
The approved answer is wrong.
NetBIOS isn't a protocol, but an API for naming service, and only really used for SMB service enhancements anymore. While there's NetBIOS for TCP, you can actually have it work without an IP address at all.
It should not be needed at all unless you still have some very ancient legacy non-TCP application that needs some sort of session layer naming service.
If you are machine has an IP and DNS, you can join it to the domain using the full domain suffix. No NetBIOS needed, I just validated.