You question is:
Why do some bitcoin transaction confirmations take so long?
Did you answer the question? Not completely, because you have to relate it also to the mempool congestion. Also you can relate it to the address type that is used because segwit has the lowest fee.
Each block can only contain a certain number of transactions, and that number is determined largely by the space available in each block, or the 'block size,' which is 1MB.
This was before segwit. Weight unit or virtual size is used after segwit was implemented.
In a legacy transaction, a single byte is equivalent to four weight units. However, for SegWit transactions, any bytes in the Witness, which usually includes the signatures, are counted as one weight unit each. This discount allows SegWit transactions to pay lower fees relative to non-SegWit transactions. Thus, if a block solely consists of legacy transactions, the block size limit of 4 million weight units is still equivalent to 1MB, but if SegWit transactions are included in the block, the block size limit allows for up to 4MB of data.
Note that the block size is an arbitrary limit, but the Bitcoin community has chosen to keep the block size as small as possible in order to make it easier for people to operate Bitcoin nodes.
How is this related to node? It is not.
Bitcoin Cash, which is a fork of Bitcoin, has a larger block size and therefore requires (much) lower fees for transactions.
Why comparing bitcoin to bitcoin cash? Bitcoin fee is not high, unless the mempool is congested. You can also use lightning network which its transaction is almost instant and with low fee.