I have four questions about Rendering. To access every Blender Render pass (Shadow, AO, Specular, Diffuse, etc...) in the node editor requires user to check/request them for that Render layer.

Why? Doesn't the Render engine need to calculate those passes anyways for the final Render so why not make them available by default?

Does saving the pass results in a buffer(s) take up a lot of extra time, if so why (simply saving image data to a buffer)?

There are several good tutorials on Vimeo regarding render passes and composite node editing, and one of the issues discussed is creating a composite node layout which most closely matches the standard Blender render. Is there a way to ask Blender to display such a layout (a composite node layout which matches exactly what the actual Render did?)

For any given Render, is there a performance readout I can view somewhere showing how much work was done ty the raytracer (number of rays, average number of bounces, etc...)