Via the Talk Wordy To Me blog, Hunting with the Bow and Arrow by Saxton Pope explains:
In ancient times when archery was practiced in open fields and shooting at butts or clouts, men walked between their distances much as golfers do today, and having completed their course, it was often customary to shoot a return round over the same field. This was called the upshot, and has descended into common parlance, just as many other phrases have which had their origin in the use of the bow and arrow.
However, Word Origins (1999) by Dhirendra Verma gives another reason:
Upshot, which currently refers to outcome, result or conclusion, was originally an archery term, meaning the final shot in a match. This use of up to mean the end or conclusion is found in such phrases as The time is up (run out, ended).
And What's in a Word (2000) by Webb B. Garrison gives yet another explanation:
Upshot. Villagers of medieval Britain took their archery seriously. Big matches were gala affairs, affecting the social standing of every man who took part. Many were conducted like modern sports events; the fellow who won a given round moved up to the next. It wasn't unusual for competitors to be so closely matched that the last arrow of a round would determine its outcome.
In such circumstances a single arrow caused one man to drop out and the other to move up toward a new opponent. Upshot came to mane the shot that could raise an archer up to a new round. Used by Shakespeare and Milton the sporting word entered general speech to signify any result or conclusion, no matter how remote from activities on the village green.