When does one require NetBIOS?

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
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.