Far left renders a kind of quick render and it renders in the viewport. The middle button renders to the Picture Viewer and is the actual final render.
The viewport render (left) is a full render for most things except those that have a Editor/Render setting (like Subdivision Surface) if you make a large difference between those settings (editor/renderer) i.e. Editor – 0 and Render – 3 with a SubD then do one of each render (viewport and final/picture viewer) you will see the difference. It also will be different for things like Dynamics. The viewport render just renders whatever you have in the viewport when you hit the button but dynamics (unless cached) may or may not be correct. They will only be right if you go frame by frame to get to a point in the timeline, you can’t scrub fast or just jump to point in the timeline and expect the dynamics to be correct, each frame depends on the last. With viewport rendering it doesn’t care, it just renders what’s there. That’s quicker than the final render which will go step-by-step through the frames letting dynamics calculate everything so that the final render is accurate, you will see Preparing… in the lower-left corner of the picture viewer while it does this. This is why you will see the occasional thread on various boards asking “Why don’t my dynamics look like I set them up when I render?” It’s because they were set up scrubbing through the editor and rendering in the editor and they didn’t do a final render until the end.
It should also be noted the middle button isn’t just a button, if you click and hold it’s a drop down which contains a bunch of other render types (that you can also find in the Render Menu just above it).