Material Editor UseRoughMap vsTexture Param Value: Roughness?

What is the difference between UseRoughessMap checkbox vs Roughness checkbox inside of the material editor?
Also when you specify a RoughValue how do you access that in C++?