I had struggled with a very frustrating problem when printing to my USB HP Deskjet printer using Ubuntu. The printer would sometimes print an entire job then refuse to print any more after that. The documents would show in the queue but you could not cancel or release them.
Another symptom of the problem would be tasks on the machine, owned by a user lp, that you could not kill. These were USB print jobs that also caused a high load average although the machine performance was not affected. These conditions would sometimes persist between reboots.
The cause of this was a conflict between the CUPS USB implementation using libusb and the Linux kernel's USB printing module usblp. You can read more about the conflicts here.
To fix this, you just need to add:
to the end of /etc/modprobe.d/blacklist.conf and reboot. This worked perfectly for me, but the wiki referenced above does mention problems with some printers and blacklisting this module.