Transactions never "cancel". It is possible that most nodes and most miners will eventually forget about the unconfirmed transaction, but at any time any node that has ever seen the original transaction (including, but not limited to the original recipient) can re-broadcast it without your permission so long as it is still a valid transaction.
You are right, I've recently encountered this myself. I've sent a transaction 6 weeks ago with very low fee, it was unconfirmed all the time and most block explorers and nodes have evicted it from their mempools, but a few days ago, when fees have dropped to 20sat/byte my transaction got included in a block! And I'm sure I haven't rebroadcasted it, because I wasn't opening that wallet since I've sent that transaction.
The reason why I've made that comment is because I had another encounter with low fee transactions - when my another low fee transaction (sent roughly at the same time as the previous mentioned one) started getting evicted, I was able to resend it with higher fee, even though it wasn't RBF. This means that double-spend transactions are able to propagate when the original transactions starts getting evicted.