all windows oses use what is called the "windows browser service" to provide an easy method of listing (what you see in network neighborhood) available computers in your workgroup and also distributing resources (in the case of printers).
More detail. When you open network neighborhood what exactly are you looking at? one might guess that you are broadcasting for available resources, and available computers/servers/etc are responding back... unfortunately that would cause an enormous amount of traffic and duplication on your network (every windows host would broacast out all the time to maintain thier own list of resources??? way to much traffic, plus is a duplication of effort).
Instead, each workgroup uses a "master browser" computer to maintain a single list of all avail resources, and client computers connect to the master browser for a listing (double clicking on net neighborhood). who gets to be master browser? an "election" process that occurs online decides... typicall a PDC, or server computer will be master by default, but you can change registry settings on any windows or samba box to raise or lower thier ranking.
above link is required reading, and will fill in the gaps of what I have told you already.
ANYHOW - back to your dilemma. first , start by checking the event log on your windows client that cant connect (right mouse click my computer - manage - event viewer). you may already have clues in thier like "cant contact master browser .xxx). you can connect by ip address but not thru net neiborhood. that means you have connectivity and are authenticating, but are not getting the "browse list" from your workgroups master broswer. thier is no real answer to fixing that... you must understand the process and troubleshoot.
I mentioned the host file entries or WINS because those to name translation methods are another very imp component of windows networking to understand. more detail. whenever you use the \\computername\sharname command or the NET USE command to map a network drive, you are specifying the NETBIOS name of the computer you would like to connect to. computer names mean nothing with regard to netowrking ( you cant address something to COMPUTER1 then send it out on the network??? it need an address to be networkd), so your computer must have a method of translating these "friendly" names into ip addresses. how does this happen? your computer first tries to contact what is called a WINS Server. this is a winodws or samba "service" or server that provides mappings/translations from netbios names (computernames) to ip addresses. if that doesnt work, your computer then checks its own hosts file (c:\window\system32\drivers\hosts on a windows box \etc\hosts on a linux box) to see if it has an entry (such as: computer1 10.1.1.16) to translate and provide the ip address. for effective networking, every computer (windows and linux) must have a host file entry for every other computer on your network.
Samba includes a WINS server out of the box. read up on that.
also check the microsoft technet sight to understand wins.
question... why is it so important that you use network neighborhood? as noted above, why not use the \\ or net use command to map drives and such?