Legacy shaders are pretty much old shaders that are there for the sake of backwards compatibility. And the passes system just separates the different elements of the rendered image like shadows, AO, reflection, indirect light ect so you can layer them in a compositing package for more control over the final look or even to save time, as such effects like depth of field and motion blur can be expensive to render.