Weird rotation values

Could someone explain why Unreal has dozens of different ways to interpret a single rotator? It can get very confusing when trying to program precise manipulations.

I start off with an object at 90, 90, -90 for pitch yaw and roll. I’m then rotating the object a tiny bit and putting it back to its original position and now the values are 115, 90 and 64. I do it again and I get -144, 90, 35.

I expected the rotation to always be multiples of 90 degrees, but the values jump to something else. I’m guessing this has to do with gimbal lock but I would like some more info.

Does this have any effect on the programming or is it just different ways of specifying the same rotation?