What is the difference between 'set scalar parameter value on materials' and 'set scalar parameter value'?

I already know how ‘set scalar parameter value’ is used for. it need Dynamic instance material.
However, ‘set scalar parameter value on materials’ does not require any Dynamic instance material.
What is the difference between ‘set scalar parameter value on materials’ and ‘set scalar parameter value’?
What are the differences in performance?