Alrighty so radians are basically the more common way of dealing with angles in higher level mathematics. The reason for this relates to something known as the unit circle.
As you can see, 2pi radians is = to 360 degrees. When you do math.rad(), it takes the degree measurement, divides it by 180 degrees, and multiplies it with pi. So 360 degrees would be 360/180*pi = 2pi radians. CFrame.Angles() is the way to multiple a CFrame object with the given angles of the x,y,z axis to then rotate the object. You can learn more about multiplying CFrames here: CFrame Math Operations
In regards to CFrame.new(), it could be several things, as the CFrame class has a ton of overriding constructors. You could do a blank CFrame, or one at a specific position, or one with each individual coordinate. The one you mentioned is actually not orientation exactly. The first value is your position as a Vector3, but the second is a second Vector3 that represents another position in which the object will face. So CFrame.new(Vector3.new(0,0,0), Vector3.new(1,2,3)) will be a CFrame at the origin (0,0,0) facing the coordinates 1,2,3. I hope this helps!
An easier way to comprehend radians is to think of it as a unit to measure angles - which it basically is - that can be converted to degrees and vice versa. As @MallocByte mentioned, it relates to the unit circle.