I made a spend and it's been many minutes, but it has not got any confirmations yet!
Usually if there are many transactions in the memory pool it may take several or more blocks before it gets picked up by a miner or staker, especially if the transaction takes a fair few kilobytes of data, which may happen if minting 10,000 denomination zerocoins entirely from small stealth unspent transactions that came from spent ten denomination zerocoins. This might have a thousands of inputs, increasing the size of the transaction.
Waiting longer is the most likely solution. Please let us know if there is an example of a stuck transaction that has not been described here, and that requires a particular treatment.
We also had a situation where a rare type of transaction, say a multisig transaction, would get stuck until someone could rebroadcast it. This was due to a bug in the Dandelion protocol implementation, which has now been fixed and should be found in the next wallet release after 1.0.4.8.
If you need to find the transaction ID of a stuck transaction you can copy if from the main transactions list or you can get it by using
getrawmempool
For more information simply add true to the getrawmempool command.
If you search for your transaction ID in the block explorer and you see it with confirmations and your wallet shows it without confirmations this indicates that your wallet may not be fully synced. If you see it agreeing with your wallet that there are no confirmations then this indicates that at least you know your transaction has been broadcast.
See also: The wallet split my transaction into many and some have not arrived yet