The key differences between BitVM1 and BitVMX are the amount of pre-computation required, the transaction space consumed, and more importantly, the complexity of the solution.
Regarding pre-computation, BitVM1 requires computing large Merkle trees (2^32 elements in size). BitVMX does not require to compute any Merkle tree.
Regarding onchain footprint, in the optimistic case, both BitVM1 and BitVMX require just one multi-signed transaction. But in the pessimistic case, if one of the parties is malicious, then BitVM1 may require more than 250K of virtual bytes (in total between both parties). This is my estimation, not a precise number, because BitVM1 was never finished. In contrast, BitVMX consumes less than 160K of virtual bytes.
Also BitVMX can be parametrized to require half the number of interaction rounds compared to BitVM1, at the expense of higher space consumed.
Finally, BitVMX is much simpler. I think anyone will understand it in 10 minutes.
While the bitvmx.org site has some information, the first paper will be published just before BTC++ (May 1, '24).