What is "canonical transaction ordering" that Bitcoin ABC is considering implementing? What exactly is "canonical transaction ordering", that Bitcoin ABC is considering implementing?

How does it help exactly, and why is it so controversial?

Could it be adopted in Bitcoin Core? Why yes/why not? Is that a protocol change, requiring a hard fork, or an implementation change?
Canonical Transaction Ordering is a different way to organise transactions in a block (different from Topological Transaction Ordering, currently used).

Bitcoin ABC's argument for CTOR
1. CTOR is simpler to implement than TTOR.
2. About 70% of block template creation time is due to ordering requirements. Eliminating this will improve performance.
3. Improves parallelisation
4. Easier blocks transmission
5. Security patch (large block with a transaction ordering that is as slow to validate as possible)
source

nChain's argument against CTOR
1. Unsecure (no technical explanation)
Note: nChain planned to implement CTOR in the past: source

It does require a hard fork.