I understand why it takes time for miners to pick up a transaction, they have 1mb limit per block they win and they prioritize higher fees. But why is it that you get stuck on 1-2 confirmations for so long? It's already been mined, it should spread through the BTC nodes fast, shouldn't it?
confirms are not created based on how fast they relay through the network.
so, let me explain
it takes time for a pool to choose which transaction to add to a block. usually they pick the highest fee first and then let in cheaper ones if room. once accepted and that pools block wins the race of getting a solved block via hasing(mining) before other pools, the transactions in that block then are deemed to have 1 confirm.
the next block has other transactions and when the block is solved that block has one confirm, meaning the previous block(containing your tx) is deemed as having 2 confirmations.
with each new block created gives the previous blocks +1 confirms.. so if there were 3 block created after the one containing your tx. that means your tx has 4 confirms.
the whole 'confirm in 10minutes' is NOT A RULE.. its a suggested guideline for ELI-5 speak(plain speak/laymans terms). the bitcoin code is actually to aim for 2016 blocks over 2 weeks, and thats the policy.. nothing more...
which ony for the purpose of plain speak/laymens terms/ELI-5 translates to 144 blocks a day or 1 block every 10 minutes.. but as i said thats not a rule thats just laymens speak translating the 2 week policy into more understandable term/timeframe for average joe to grasp
some blocks can be found in just a couple minutes or a couple hours. which is why some 'confirms' can happen quickly or take along time