After leaving my printer unused for some time I suddenly found myself unable to print to my Canon ip4300 printer (which is connected using USB and should be run by CUPS). Dmesg showed the following after powering up the printer:
The problem here is the USB Printer subsystem of the kernel called 'usblp'. Some people might have it compiled into the kernel (like me - seemd like a good idea at the time) and others might have it as a module. If you have it as a module, unload it and blacklist it so it won't be loaded automatically. Repower the printer and it should suddenly become available to CUPS.
If you have it compiled in - like I had - recompile your kernel after disabling USB Printing. The device manager will pick it up if you connect it again so the printing subsystem can use it.
On a side note: it would have been nice to have a warning in the kernel description that using printing subsystems will not work properly if you use 'usblp'...