Problem: You've got a printer you've shared off a system running Vista. You're trying to print from a non-Vista client, such as XP. Print jobs show up in the print queue when you open up that printer, but the print jobs don't run until you restart the print spooler.
Solution: Turn off bi-directional printer support on the shared printer's port. Open up the printer's property dialog (Printer | right-click | Run as administrator | Properties) and select the Ports tab. Find the port your printer is shared off of, select it, then clear the checkbox for Enable bi-directional support.
(Note: I'd love to say that based on my years of network and system support, I figured this out on my own. Not so. Google saved me with several hits on MSDN and TechNet fora.)