Matrix multiplication. In the UK you cover it around the age of 18 or at university if you’re doing a degree that uses maths.
It’s not too difficult to understand the basics if you write your two CFrames out in matrix form and follow the instructions of multiplying out a 4x4 matrix (each row of the first is multiplied by each column of the second to produce a result at their intersection). Now swap them around, and you can get very different terms if there is any rotation involved.
Each CFrame takes the form:
Where the m values are rotation components.
And multiplying two together:
As a quick proof, there are terms such as a11b11+a12b21+a13b31 in this example which do not exist if you swap the two matrices around. Notice how you can’t find the term a11b11+a21b12+a31b13 anywhere, but it would exist if you swapped the order. And welcome to the world of matrices.
There’s more info here if you have a mathematical background: https://developer.roblox.com/en-us/articles/CFrame-Math-Operations