Rebroadcasting s transaction doesn't drain the balance of an address. It simply reminds the network that there is a transaction spending from some inputs to some outputs but the data is still the same so it is treated as one transaction.
That's why you're not actually sending the money to anyone in particular. You're sending the transaction to all Bitcoin nodes.
Then anyone with the private key can spend what you sent.
Your wallet scans all transactions, sees that some of them go to your addresses, and tells you that you've received money.
But actually you could be running multiple computers with the same wallet.dat, they would all say that they've received the same transactions.