There are 3 ways to close a channel.
- The good way: mutual close
- The bad way: force close
- The ugly way: revoked close with penalty transaction
In the good case the closing tx should have 2 outputs as you expected. In rate cases even just 1 output.
But in the other two cases a version of the commitment transaction is published. The commitment transactions has additional outputs for pending htlcs that are not settled or timed out yet. So if the channel was routing funds and a force close or protocol breach is happening we can see more than two outputs.