Difference between Add Shader and Mix Shader?
Add Shaders aren't necessarily physically correct. Simply put the values of the two input shaders are added up for every pixel

value_out = value_1 + value_2


It is possible to reflect more light than received. 

If you mix two shaders with the Mix Shader Node you get more physically correct values because it calculates a weighted (by the Fac param) average

value_out = value_1 * Fac + value_2 * (1 - Fac)


This way you reflect at most as much light as you receive provided both inputs are physically correct.

When in doubt use the Mix Shader.