local r1 = CFrame.Angles(90,0,0)
--is not the same as
local r2 = CFrame.Angles(math.rad(90),0,0)
--r2 results in a rotation of 90 degrees around the x axis, r1 results in 90 * 180/pi degrees around x axis
CFrame.Angles is Euler Angle rotation
Here are some videos explaining Euler Angles and radians
The second one is more trigonometry, but it has a good explanation of radians at the start.
Also can I please see what you are using as the rotation variable?
The rotation function works by multiplying the current rotation variable by a new CFrame.Angles with a rotation of math.rad(90) on the respective axis.
forgot to mention, the red line is x axis, blue is z and green is y