Just a simple thing, It would be very useful if arrows stored the player that shot them inside their EntityData like the ender pearl and other throwables do. As far as I can find, there is no way to see which player shot an arrow besides guessing by proximity as it spawns, perhaps.
This way, command block contraptions can do several more things with arrows, such as applying an effect to only arrows shot by a certain person, or storing several different settings for a certain player's shot arrows.
as for summoned arrows, I assume the value would be null or something if it weren't explicitly set during the summon.
I can think of several reasons why someone, especially for creative mode or adventure maps, would want to know who shot an arrow.
Perhaps someone wanted to make a custom game mode using command blocks, and they wanted everyone to have separate spells for their bows, they could apply the spell effects ONLY to the specific player's arrows, while other players have their own settings and are unaffected.
Another example, is maybe making a sort of bounty system, where shots from arrows are worth more/less bounty points. without this addition, bounties could be accidentally applied to the wrong person, and with the addition, the server knows exactly who shot an arrow so mistakes like that don't happen.
a really simple one would be if an admin wanted to disallow a certain player from using a bow, they could have a command block that deletes that person's arrows immediately if they fire them
This change doesn't really effect singleplayer, it's more for the advanced creative aspect of the game where people make custom maps using the command blocks