Why do hard forks need special rules to allow replay protection? I've seen a lot of methods hard forked chains use to provide both strong and opt-in replay protection so that transactions are only valid on one of the chains. Examples of such rules include using a transaction-invalidating output, and using a specific OP_RETURN string. 

My question is why are any of these mechanisms neccessary to protect a holder from replay attack? More specifically, why can't a person who holds coins pre-fork protect themselves simply by spending a pair of coin-splitting transactions on each chain like this:


Alice has sole knowledge of the private key needed to spend UTXO A which is valued at 1 "LegacyCoin" before the hard fork.
Hard fork creates a new coin called "NewCoin" based on the blockchain history  of LegacyCoin.


UTXO A now contains 1 LegacyCoin according to the LegacyCoin network and 1 NewCoin according to  the NewCoin network because that's how hard forks work.

Alice creates and signs two transactions: one that spends A to B and one that spends A to C (both of which Alice also has sole knowlege of the priavte key). 
Alice then simultaneously broadcasts these signed transactions on the two networks: broadcasting the transaction A-&gt;B only on the LegacyCoin network and the transaction A-&gt;C only on the NewCoin network.
Both transactions get confirmed on their respective networks and now Alice has effectively split the original value of UTXO A into the two blockchains in complete absence of any replay protection mechanisms implemented by NewCoin. The coins can now be concidered split because even if she spends B, no one else can spend C (and vice versa) becuase they are different UTXOs and require different signatures to spend. Also, obviously no one can spend A because it is already spent on both chains.  


Why is statement in step 5 not true? Where does this logic break down requiring actual replay protection mechanism to be implemented by hard-forked chains?
The LegacyCoin network and NewCoin network are not distinctly separate from each other. Unless network magic and ports are changed, LegacyCoin nodes will be able to connect to NewCoin nodes and likely many will be connected to each other. So if you broadcast transaction A-&gt;B, on the LegacyCoin network, it will likely reach a NewCoin node which then causes the transaction to also be relayed on the NewCoin network.

Furthermore, even if the networks are distinctly separate, people can operate a node on both the LegacyCoin network and NewCoin network. Without replay protection, someone can take transactions that they are hearing on the LegacyCoin network and broadcast them through his NewCoin node and vice versa.

Lastly, two way replay protection should be mandatory because the process of splitting your coins with UTXO tainting is rather difficult. You need to have decent technical knowledge to do it and you will likely need to have modified software in order to do so. It is not something that ordinary users are likely able to do without some very specific instructions and there is a high probability that they will mess it up and possibly lose coins.