Why does the banscore default to 100? What was the thought behind a banscore threshold of 100?  Why is that default, why not lower or higher?

In what legitimate circumstances would a node operator change the banscore for their node?
The concept of banscore is mostly historical at this point in time. The original concept was that minor misconfiguration or implementation wouldn't cause the whole network to disconnect itself instantly from one another. Small violations would just be counted towards their ban score, with large violations (like sending invalid block data) resulting in immediate maximum score. 

Today most events which will cause an increase in ban score are going to reach 100 either instantly or very quickly, so it serves almost no purpose. You, as a node operator, get no value out of peers which are misbehaving, so there's no reason to change this value upwards. If the peer to peer logic was to be implemented today any protocol violation would just result in disconnection.