Every node can choose how long they keep transactions in the mempool. Default is 2 weeks. So if you set a very low fee of 1 sat /byte when the network is very busy for 2 weeks, there is a change that your transaction gets lost. So that basic no transaction happened and the sender still has the bitcoins. Some wallets allow you to use RBF. (replace by fee) then you can boost the fee in case your transaction get stuck. You can also make a new transaction with the ‘unconfirmed’ change and give this a high fee (Child pays for parent) when you spend with outputs that are not confirmed yet, you create a ‘mempool package’
I don’t remember the quiz, but every miner can pick transactions he want. But will most of the time prioritize in sats/byte. So if 2 miners mine a block at the same time on the same blockheight, doesn’t mean the blocks are identical. In fact it’s not possible to be identical because the coinbase transaction is set to send to the miner’s address. So the hash will always be different and thus a different nonce will be required to make it a valid block.
Check this cool cartoon about the mempool: