E[X | Y = y] is a number for each y. E[X | Y] is a function of Y, and since Y is random, so is that function. Grasping this is what makes the tower property make sense.
Tower property: E[X] = E[E[X | Y]]. Average within groups, then average the group averages.
Roll a die, then flip that many coins. E[heads | N] = N/2, so E[heads] = E[N]/2 = 1.75 - a page of casework avoided.
Conditional variance decomposes similarly: Var(X) = E[Var(X|Y)] + Var(E[X|Y]), which is variation within groups plus variation between group means.