One tool is a net work sniffer as mentioned above. But you have more than that and there is no single tool to discover all the devices and what they are.
I'd suggest you try the following as a start and modify as your local permissions/authority and skill allow, including the order of the steps.
1. Get a copy of your local DNS record and put in a csv or spreadsheet. Now you at least have all ip devices listed.
2. If you manage the clients AV from a server, you may have a handy list of ip's to machine name list. Now you have all the PC's. If you don't have something like this and your network discovery tool won't give it to you, you can just use cli and nbtstat -a all the ip's from your DNS list. You may already have the name to ip from your DNS service depending on what make (open source or windows or something else) of DNS you have.
3. A packet sniffer will show you any printers with a jetddirect interface as well as anyting that uses the network. You can also subtract the list of known AV PC machines from above as compared to what is listed when you browse your in network. This should show network printers, shared printers as well as other shared resources so those names with no ip's are most likely just shared printers/CD/Drives.
The sniffer will also show you any routers and inteligent switches that require ip's. If a ip repsonds to telnet, you have either a router or intelligent switch or some other networking device.
4. If you still cannot ID the ip device, then using the mac address from nbtstat you can look up the mfg and guess what it may be. If you have mostly HP printers this will get them as it will also get a router that won't respond to your telnet requests for whatever reason.
5. Of course the other tools at your fingers are tracert, ping (for response times once you know how many devices still between you and the target device)
So get to know your ip tools, get a packet sniffer, LAN Spy type app, MAC address list of mfg's, and your legs with flashlight to peek about. Track it starting with your DNS requestors list. Every local ip device will needs DNS so it will be on that list.
Remember that if a machine is off it will not repond to a ping or anything else. So a ping response only shows that the device is on and response times (if there is no firewall preventing it).