The preemptive is clear: the process is executed, then he needs a printer. Another process starts to run. He suddenly also needed a printer. And the first one has not finished printing yet. The second one is queuing up to the printer.
And in non-preemptive queue from where? The process is executed, well, he needed a printer, it will print, another process will not start running while it is printing.
UPD: I heard that with non-preemptive multitasking, the process can yield to the processor when it has finished execution or when it needs a resource that is currently unavailable. But how can it be unavailable? Will consider from the first process. That took the first process in the current session processor. It took him a device. How can it be unavailable? Who is employed? The process is the first. So he will print without giving the processor to anyone. Then it ended, the second process came ... and for him the same reasoning is valid as for the first one, isn't it?