I'm no expert on these matters, but I think it goes like this. The transation's priority is affected by the age of the inputs, size of the transaction (in btc and in bytes), and transaction fee. This is to reward the miner and protect the network from lots of tiny dust transactions. Unfortunately, the priority is low because because you usually send payments out right after coinbase sends it to you, large packet size with multiple small btc outputs, and apparently a small transaction fee. And so if there aren't any miners who are willing to include this transaction in their newly mined blocks, the transaction isn't confirmed.
If the transaction isn't confirmed for some period of time, blockchain.info assumes that it won't be confirmed and forgets it and "returns" the coins to your wallet. But all the signatures in the original transaction are still valid, so if some other miner retains the transaction in its memory and rebroadcasts it, it re-enters blockchain's memory with a different date.
At this point, that transaction might still eventually get confirmed, but it might not. Not sure if you can just ignore it. Or just re-spend the coins that were returned to your wallet. Or, in some wallets, I think you can add extra transaction fees to the transaction to increase its priority.
Not sure how to avoid this in future. Keep some coins in your wallet and pay out from that? Pay less frequently so that the btc amount is larger? Pay the recommended transaction fee?