A print queue on a Windows PC is a pointer. It points at a port, and the port points at the printer, either by address or, for a printer Windows added on its own, by a discovery protocol called WSD that finds the device by broadcasting for it. Both pointers can go stale without anything being wrong with the printer.
The address goes stale when the printer took it from DHCP and the lease expired or the router handed it to somebody else. The queue on every PC still points at the old address, so every PC reports the printer offline, and the printer sits there with a green light wondering where everyone went.
The discovery pointer goes stale when the printer goes to sleep. WSD relies on the printer answering broadcasts; a printer in deep sleep does not answer, Windows marks it offline, and it stays marked offline after the printer wakes, because Windows only rechecks when it feels like it.
The third cause hides under the first two: the printer was installed by whoever needed it that day, so there are thirty queues on thirty PCs, half by address and half by discovery, with four driver versions among them. Whichever cause hits, it hits a different set of PCs each time, which is why the problem never looks like one problem.