What type of printer is it? Professional printers either come with their own network card included or have a space inside their case to add a networking device.
Nothing but rock-solid experiences here.
It is more likely you have a consumer model printer or maybe a pro-sumer model.
Especially when you share those printers over a Workgroup type of (Windows) network, printing is more often than not flaky on any machine, beside the machine that actually connects to the printer.
Even so, there are some things you can do to make it more stable. It sounds a bit counter-productive, but please bear with me.
In my case I have a simple Samsung Laser printer that I have shared on a LAN with 20 machines. The printer is connected to a Windows Server 2008 R2 machine. My machine runs on Windows Server 2012 R2 and my machine has never any problem with printing through the LAN. First thing I do is to creating a credential to a standard non-admin account on that Win 2008 machine, but I do this in the 'Credential Manager', which you can find in Control Panel. If you are on Windows 7, I believe it is called Credential Vault or something like that.
First I create an entry in there with the IP number of the Win 2008 machine (+ login name/password), then another entry but now with the name of the Win2008 machine. Then I make sure that the printer isn't configured on the Win2012 machine. I also make sure that the Win2012 machine didn't connect for a long time to the Win2008 machine or a full reboot to make sure no existing connection between these two machines exist. Note: you need to repeat this for any user account separately.
Now I open Windows Explorer on the Win2012 machine and access the Win2008 machine using its IP like so: \\(IP number)
In Windows Explorer I see next to folder shares also the printer icon. After I right-click on that icon, I get a menu where either the option 'Connect' or 'Connect to this printer' appears. I left-click on that option and a screen opens that tells me it installs the printer drivers and after a few seconds the printer is ready for use.
Writing the above took longer than the actual actions you need to take. People always use the 'Add printer' in the 'Devices and Printers' panel and always keep coming to me asking if I can print something, because it isn't working (anymore) on their system...again! You shouldn't. I stopped caring about this a long time ago, if they don't want to learn, you earned all the printing misery you get.
Any computer on your network has to resolve the other machine names in your LAN network. However, if you have a DHCP server configured in such a way that any machine gets the same IP address no matter where it is located, it is faster and less error prone to skip the name resolving and directly go to the IP address of the machine that shares the printer. Guess what...printing becomes a much more solid experience.
If you can't be arsed to look up the IP number, you can still fall back to using the machine name (and let Windows resolve things) in Windows Explorer and connect to the printer that way. Now printing becomes a solid experience.
Long story short:
Don't fill in the required credentials when Windows Explorer, but instead use the Credential Manager from Windows to configure connections (printing or other wise) to any machine in your LAN. And don't use the 'Add printer' option, but connect to the printer just like you do with any network share.
Of course, there is also software like this...