If using Bitcoins in a real world brick and mortar store, a customer presents a paper with a QR code, merchant scans QR code and deducts purchase cost from Bitcoin total presented. How can merchant print change receipt in a timely manner, <10 , if you have to wait for another block creation?
The store would accept the paper wallet, import the private key and sent the money to a safe address (for which only he has the private key).
When it turns out that there was no previous double spend, the store can be sufficiently at ease that the money will arrive.
The customer would now present a second paper wallet from which he only shows the address (and keeps the private key secret). The store could then sent the correct amount of change from its own wallet. Both transactions would be unconfirmed, but for small amounts it should not be an issue.
However, without internet access the customer would have to trust the store that the change was actually sent as promised.
They can print out the unspent input (or more likely the address to it) on the spot, but this is easily gamed, the merchant can spend the input when you walk out of the door, or just give you a qr code with loads of random numbers that don't mean anything for you in terms of bitcoin.
if the customer doesn't have an internet device, he cannot check on the spot whether the change was sent.