# Difference between using + and * operator after tex2D to add albedo color?

I have a two different codes with a little difference

Case 1. I used a + operator before _myColor.

void surf(Input IN, inout SurfaceOutput o) { o.Albedo = (tex2D(_myTexture, IN.uv_myTexture) + _myColor).rgb; }

Case 2. I used a * operator before _myColor.

void surf(Input IN, inout SurfaceOutput o) { o.Albedo = (tex2D(_myTexture, IN.uv_myTexture) * _myColor).rgb; }

In first case It gives bright color.

But in second case it gives very dark color.

My question is why and how this is happening?