NetBIOS is a relic from the early days of computer networking. While the internet existed when personal computers first started to become networked. Microsoft, with a severe case of NIH syndrome and urged on by computer manufacturers wanting to sell more (proprietary) hardware, took a look TCP/IP networking and rolled its own twisted version. The DNS HOSTS file became LMHOSTS; DNS became WINS and Netbios became the protocol for LAN's instead of TCP/IP (or that IPX/SPX stuff that the upstart Novell was pushing). Of course the internet became even bigger and ethernet along with TCP/IP replaced Token ring, Arcnet, DecNet, SNA and other forgettable protocols. Microsoft of course responded by putting Netbios on top of TCP/IP (so there) and we still live with this today.
You've got to give Microsoft some credit for persistence - where Apple just says the new world is X and forget your Appletalk. Microsoft says the new world is 7 (but no worries we'll still run your 1980 era LanManger if you insist). We thus, wind up with DNS, WINS, HOSTS, LMHOSTS, domains, workgroups, Browse-Master and so on all trying to co-exist and even interact with each other. When they don't interact we find that we can ping a computer but not map a drive or we can map a drive or access a server using UNC (\comptername ), but cannnot browse the network using network neighborhood: Even when things work reasonably well in a LAN environment remember that Netbios is at heart a LAN protocol whereas TCP/IP had its origins as a WAN protocol.
|NetBIOS well known ports|
|137: NetBIOS name resolution (name service), WINS 138 and 139: NetBIOS datagram (browsing)|
When you throw things like NAT addressing into the mix (as 99percent of LAN's do) then Netbios does not always work - its protocols are often blocked at the firewall (network_ discoveryLAN = GOOD; networkdiscovery_internet = BAD) and routers and firewalls have not always had a good track record of translating NAT IP addresses inside Netbios packets (NBT) and are more likely to break.