Deep dive on how Spark leaves work. Tl;dr is that it's hard to make a simple layer2.
The purpose of moving your funds onto Spark is to send bitcoin around offchain. Users do this by transferring ownership of one of the signing keys in the multisig.
Also, it turns out that presigned transactions are messy.
An issue with this is when a transaction is buried in a Spark tree. Let’s say your leaf is 99 branches away from the original output within a tree. You would have to broadcast 99 individual transactions, starting from the original root UTXO, to claim your funds onchain. To ensure users don't get buried in a tree, Spark implements a max depth for leaves.
Janusz does a really nice job explaining it though.