Why doesn't this work???

For some reason this code has no effect on the “cam” gameobject

if (followYRotation == true) 
{
	//This makes the camera rotate on the y axis
	cam.transform.Rotate(0, playerController.transform.rotation.y, 0);
}

playerController.transform.rotation.y
is the y component of a quaternion. If you meant the angle of rotation around the y axis, you should use:

playerController.transform.eulerAngles.y