In Disjoint Sets, why do we make the smaller tree the subtree of the larger one?
Probably best explained with pictures. Say we have these two sets $A$ of height 2 and $B$ of height 3:



Now we have a choice when joining them:


Attach root of $B$ to root of $A$.
Attach root of $A$ to root of $B$. 


Remember we are optimizing for look-up / $find()$. Let's see what happens in either case.

Attach root of $B$ to root of $A$.

We end up with this resulting set of height 4:



Attach root of $A$ to root of $B$.

We end up with this resulting set of height 3!



Wonderful! We've increased the size of the set without increasing the height. In this scenario our find will take at most 3 iterations, same as what we originally had because $B$ was of height 3 to begin with. In the other scenario we have at most 4 iterations because we've increased the height of the new set by 1. This is why it is always preferable to join the shorter tree to the taller one, because it will not increase the height of the taller tree (unless they are the same height). Thus, optimizing for look-up.