Why Must I Use Socket Rotation Instead of Relative Rotation

I have a character blueprint I’m using for its collision capsule, which I made the root, of which I attached my camera. There are reasons why. . . I’ll spare you.

From the character BP, we get the relative rotation (I get relative transform first --for the target-- I then get the relative rotation. (The issue also arises off relative transform and getting the relative rotation that way.)

When I print the value off this, after normalizing, multiplying and including frac, I get a good value. But If I put that value into a float, I get 0 on the output of that float, even if that float is being set nowhere else but off that frac.

I use a target to get socket rotation instead, and the value off the downstream frac is good, and I can store it in the float without issue.

What the hell is that and why?