Tracking: Difference between "Show Frames" and "Show Tracks Error"

I’m currently learning to use the tracking features in Blender but I don’t understand the meanings and differences between the Show Frames button and the Show Tracks Error button in the tracking graph editor.
image
Could someone help me understand what is meant by “per-frame average error” and “reprojection error” and how they differ? Thanks!