Without seeing the details of the transactions... we will all just be speculating on the cause for your transaction getting stuck.
The most likely cause is (relatively) "low fee"... The Bitcoin network is super busy at the moment... 100,000+ unconfirmed transactions pending. As such, fees required for quick confirmation times have skyrocketed... "recommended" fees (
https://bitcoinfees.earn.com/ and
https://btc.com/stats/unconfirmed-tx) are now in the 350-400+ sats/byte range.
Any transaction with a fee less than that will likely be delayed for an indeterminate amount of time.
Other causes could be spending from unconfirmed parent transactions. Child transactions cannot be confirmed until the parent is. If you have received coins in a transaction that has not been confirmed, and then attempt to spend those unconfirmed coins, then your transaction cannot confirm until the incoming one does. Likewise, if you're spending change from an unconfirmed transaction, it can't confirm until the parent transaction does.