Hey @Dawoodoz, I have been sitting on this for weeks, and haven't responded yet. Just couldn't squeeze all the linear algebra through wikipedia, just too beginner unfriendly and have been referring to my university book. Anyway, here is the response:
"A and B are the same real world transformation expressed in different coordinate systems.", that is essentially how I think about similar matrices as well. "Imagine that A and B are two guys ... A's left.", is very insightful and so is the meter/centimeter illustration of change of basis concept in your final paragraph. The paragraph before that however, one that starts with "For rotation only, it's like rotating a ball...", I couldn't quite wrap it neatly, but I think I got what you were trying to say there.
Anyway, I have attached the proof of A = Inverse(P) * B * P
below as image:
This is aside answer but just wanted to share. Much like @Dawoodoz 's explanations, I do this with maths all the time, where I imagine shapes and curves and real world scenarios and draw out an example behind an equation or some mathematical concept and build up my intuition and that satisfies me enough so that I am able to move forward with the application. Unless I have that intuition I just can't move forward. In cases, where equations are really surprising or in cases where I am unable to build intution, I have to understand the proof. In this case of 3d rotations, it started after seeing the implementation of hmm_mat4 HMM_PREFIX(Rotate)(float Angle, hmm_vec3 Axis)
, from handmade math header file library, which was so different than what I had expected, and that got me into axis angle representation, and the derivations, and at this point it has got me into almost a month of linear algebra. I have hit a stop point thankfully.