hi thanks for your helpful reply, could you explainme a little bit more about the broadcasting
When you send a transaction, you are basically broadcasting or propagating a transaction to the network so they would know that the transaction exist, take out the unspent outputs in their database and place the transaction in their mempool till it gets included in a block. However, if the transaction is not included in the block for a period of time, most of the node and miners would drop the transaction out of their mempool. Thus, your transaction has a lesser chance of getting confirmed. To ensure that the miners see the transactions for as much time as possible, rebroadcast it.