This is a very common problem. I encountered this using an HP OfficeJet Pro 8600 Plus printer which was USB connected to a Windows 7 SP1 machine. It was shared to all users using Windows print sharing. Bidirectional file sharing between Windows and iMac 27 running OS X 10.8.5 worked fine. Windows 7 was configured for workgroup sharing, not homegroup or domain-based sharing. This is the simplest, most basic level of sharing in a cross-platform situation.
On the Mac, I installed the HP OS X drivers. After driver installation, the printer model was visible in the System Preferences>Print & Scan>Add Printer dialog.
After adding it the network shared printer on the Windows PC was visible from the Mac and I could check print status, toner levels, etc. However upon trying to print, it would hang in the Mac print queue with the message "on hold (authentication required)".
In my case the solution was pressing the refresh button on the print queue, which ONLY THEN displayed a login authentication screen. It was defaulting to my Mac admin login which (maybe in the goal of visual simplicity) was not shown.
I changed the login to Username: guest, Password: guest, and it printed fine.
This is extremely frustrating, as it took me hours to find this. I see many, many other discussion threads where this is likely the problem. Some of them struggled with this problem for days. This activity is in the COMMON PATH of a large % of users. It is not a fringe or rare activity or an "edge case".
Ideally Mac OS should just transparently handle this. Lacking that, the build-in help documentation should cover it. Lacking even that, at least an Apple KB article should cover it. Lacking even that, if the authentication dialog was not suppressed but popped up by default, at least it would point some users in the right direction.
As it is, not a single one of those things were done, and many people continue to hit this over, and over, and over. It is an embarrassing situation. There are 80,000 Apple employees. If just one of them spent a few minutes to write a KB article about this, it would help a lot.
There are likely other sub-cases which could cause the same error message. You don't want an excessively broad, poorly-worded KB article which implies there's a single solution to a given error. However the problem is nothing has been written or done to address this, and it's apparently been causing users problems for years.