A weld contains an offset from one part, to another. Generally speaking, this is done relative from one part to another. E.g. “Part1 is 5 studs above Part0”. That is what the definition of a C0 is: It’s Part1’s offset from Part0. C1 is the opposite, Part0’s offset from Part1.
So if we had a weld connecting two parts, Part0, the first part, is 5 studs below Part1, the second part. You can also say Part1, the second part, is 5 studs above Part0, the first part.
When you multiply part1’s cframe by its offset from part0, you get part0’s cframe obviously. The same is true is when you multiply part0’s cframe by its offset from part1, you get part1’s cframe. That’s why they’re equal. Think of it, simplified, as so:
Weld.Part0.Position = Vector3.new(0,0,0)
Weld.Part1.Position = Vector3.new(0,3,0)
Weld.C0 = Vector3.new(0, 3, 0)
Weld.C1 = Vector3.new(0, -3, 0)
position1 = Weld.Part0.Position + Weld.C0 --this is just (0,0,0) + (0,3,0) = (0,3,0) which is part1's position
position2 = Weld.Part1.Position + Weld.C1 --this is just (0,3,0) + (0,-3,0) = (0,0,0) which is part0's position
(The above example uses Vector3s, real welds use CFrames, a combination of rotational and positional data which complicates it more)