I understand what you are saying.
But help me understand the Bitcoin protocol here. Let me know if I have some of this wrong:
The Bitcoin network is interconnected nodes that share unconfirmed transactions by broadcasting them among the nodes. A wallet application joins the network by connecting to one or more of these nodes. When BTC is sent from one wallet to another, it is sent through the network and the receiving wallet sees the transaction. A transaction must be verified by a node before it is sent to the next node. Part of this verification is a check to see if it duplicates an input from another transaction, either one in the blockchain or one in the unconfirmed pool.
Thus, it is difficult to double-spend because the transaction with a duplicate input would have to be introduced into the network before the 1st has propagated. Not only that, but the double-spend would only work if the recipient of the 2nd transaction was connected to a part of the network to which the 1st transaction hadn't been propagated.
Thus, to protect against a double-spend, the recipient only has to wait long enough for the transaction to propagate through most of the network. This is less time than the wait for the transaction to be confirmed in a block.
You're close. Bitcoin nodes relay new transactions to each other, but they don't necessarily (and don't usually) mine a new block when relaying new transactions. Until a new block is mined that includes a new transaction, (usually 10 minutes on average, but this varies) it is not certian which transaction will be included in the blockchain (confirmed) and which transaction will be ignored*. Miner software has to decide which one to include. It is up to the miner to decide how to rectify this situation, and I'm not certain how off-the-shelf miner software typically handles it. I've asked in this thread here: https://bitcointalksearch.org/topic/question-about-how-miners-treat-unconfirmed-double-spend-transactions-758658
*And even when a new block is mined that includes your transaction, there is a small chance (if other miners quickly mine two blocks in a row without your transaction) that this block may be replaced by another block that doesn't include your transaction.