I haven't touched this part of the code so I don't know for sure. You should CircusPeanut since he's the last to have modified it (iirc).
This is the comment in PySelectCoins() that calls this method:
Intense algorithm for coin selection: computes about 30 different ways to
select coins based on the desired target output and the min tx fee. Then
ranks the various solutions and picks the best one
This is my guess: if you have to have change you would rather avoid tiny amounts, or you'll have to consolidate all these small amounts at some point, and that will command a large fee. If you have UTXOs with about double the amount you want to spend, you can create a small Tx (1 input) with a large change UTXO.