How does a wallet decide which utxo to use?
Why does a wallet have to use multiple utxo (input&gt;output 2&gt;2 or 3&gt;2) rather than just use one and split it in two (1&gt;2)? (the aimed tx amount is smaller than each utxo)

There's no generic reason a wallet would have to do that.

Is the algorithm to select which utxo specific to each wallet or is there any general rule throughout bitcoin network?

Specific to each wallet