How does fac differ with manual control versus node control?
Using the slider will just give one value for the entire surface (or volume, now that we have volume rendering :)

Using a texture will give multiple values mapped to different locations (the  depends on the texture mapping of course):



Basically the texture is supplying a value between 0-1 per ray.

Think of it this way: Each "light ray" cast from the camera by cycles that hits your object will test to see if the mix shader is resulting in shader 1 or shader 2. If the texture controlling the factor is black (0) where the ray hit, it will bounce off the diffuse part of the shader. If it is white (1) where the ray hit, it will bounce off the glossy part of the shader.

So, you can use anything which results in a value (which is pretty much anything). However that's not to say that everything will give a meaningful or useful result.

Note that even if the factor is somewhere between 0-1, the ray will only sample one shader at a time (if you are using the progressive integrator), but with many rays sampling the same point it will converge to a pixel which is a mix between the two shaders.