When you sign something with your private key you expose your public key. This means 1) if you receive money to an address and move that money elsewhere, subsequent money sent to that address is going to an address whose public key is public; and 2) if you publish a transaction to the blockchain someone else can see it before it commits and get your public key and attempt to race you to having a transaction including in a block.