Mix shader use a very simple method to combine two shader output. It doesn't guarantee any real material based on physic light reproduce. You are actually using alpha compositing rather than reevaluate a BSDF shader. See the example below.
On the left we use Mix Shader to mix the Roughness between 1.0
and 0.0
. Right we use real 0.5
value for a single Glossy BSDF.
You can see that the Glossy 100% reflection just blend into the rough one without any transition. This is totally impossible in real world unless a clear-coat is presented.
So if a single BSDF shader can do the job, don't try to mix other shader, just let it do the calculation and connect it to the output directly.