Why have different flights with the same flight number?
As far as I know, this practice is mostly just limited to very large airlines in the U.S. The reason for this is that the airlines are so large that they'd literally run out of flight numbers in some of the allocated ranges. Usually the 9000 range is reserved for special flights (e.g. repositioning flights, or, as discussed in the answer to the linked question, when a different callsign is needed,) but other ranges are also reserved for things like codeshares onto the flights of partner airlines and for flights operated by regional carriers instead of by mainline.

For example, this post from this flyertalk thread lists the following ranges used by Delta observed by a frequent flier on that airline:


  GoJet: 6000s
   Endeavor: 3000s
   Shuttle America: upper 2000s to lower 3000s.
   Compass: 5000s
   SkyWest: 4000s, 7000s
   Mainline: 0001-2999  


From personal experience, I've noticed that partner airline codeshares on Delta are usually up in the 8000 range (maybe also part of the 7000 range?) Delta has a lot of partner airline codeshares, so quite a lot of the flight numbers go to this. Delta mainline operates a lot of flights. According to Wikipedia, Delta mainline and its regional carriers operated 5,400 flights per day as of October 2016. Having only 3,000 flight numbers available to mainline means that they'd almost certainly not have enough if they didn't reuse some of the numbers.

In total, according to Delta, their route network, include partner airline flights, totals over 15,000 flights per day. There are only 10,000 possible flight numbers and, when the reserved 9000 range is removed from consideration, only 9,000 possible flight numbers (or 8,999 if "Delta Flight 0" isn't allocated, which I expect it isn't.) As more and more of Delta's partner flights are given codeshares to Delta flight numbers, it would be very easy to exhaust the entire range of possible flight numbers.

An additional reason (possibly more relevant historically than today) is that it allows the airline to have a "direct" service to a city it doesn't actually fly to non-stop. Nowadays, people commonly use the term "direct flight" to mean "non-stop flight," but that's not the technical use of the term in airline-speak. The term "direct flight" really just means "we have a flight that gets you from A to B, but it might stop in C and D along the way."

Back in the day, this made more sense, as it wasn't as common for aircraft to have enough range to connect cities non-stop. So, a flight from New York to Seoul, for example, would typically stop in Anchorage to refuel before crossing the Pacific. Going even farther back, the first trans-Pacific flight (from San Francisco to Manila) had stops in Honolulu, Midway, Wake Island, and Guam. Since almost all of the passengers were going from San Francisco to Manila (not to, say, Wake Island or Midway, which were previously uninhabited,) it made sense to have a single flight number rather than using a different one for each segment. Nowadays, however, due to the much longer range of aircraft, there's not as much need for 'direct' flights with stops.


Pan-Am's SFO-MNL route via HNL, Midway, Wake, and Guam