`CREATE` derives an address from the deployer and nonce; `CREATE2` derives it from the deployer, a salt and the init code hash, so it is predictable and reproducible across chains.
address predicted = address(uint160(uint256(keccak256(abi.encodePacked(
bytes1(0xff), deployer, salt, keccak256(initCode)
)))));This powers counterfactual wallets and factories: you can send funds to an address before the contract exists.