In the chain rule of single variable calculus, what are we really doing? Let 
$$y = f(u(x))$$
then 
$$\frac{dy}{dx} = \frac{df}{du}\frac{du}{dx}$$
Now, most of the time I hear calculus teachers say that "it's like a fraction.  You cancel out the $du$ terms".  However, I have also been told that differentials don't work like that - we aren't "dividing" differentials or "multiplying them".  So what is the actual intuition behind why the chain rule works?
 A: The cancelation works perfectly for finite differences, that is differences computed on a given finite interval, because you simply divide and multiply for the same quantity:
$$
\frac{f(u(x+\Delta))-f(u(x))}{x+\Delta-x} = \underbrace{\frac{f(u(x+\Delta))-f(u(x))}{u(x+\Delta)-u(x)}}_{A}\,\underbrace{\frac{u(x+\Delta)-u(x)}{x+\Delta-x}}_{B}.
$$
Intuitively, in the limit $\Delta\rightarrow 0$, if both limit of $A$ and $B$ exist then you get the chain rule because the limit of the products is the product of the limits. Nevertheless simplification of infinitesimals is a totally meaningless operation, in fact the symbol $\frac{df}{du}$ it is just a short-hand notation to indicate the limit, nothing more, it does not say that you are dividing a quantity $df$ by a quantity $du$.   
A: Intuitively it seems more than plausible that the tangent line for $g\circ f$ is the composition of the tangent lines for $g,f$ respectively.
So let's see what happens when we compose linear functions. Let $y_1 = m_1x + b_1, y_2 = m_2x + b_2.$ Then
$$y_2 \circ y_1 =  m_2(m_1x + b_1) + b_2 = (m_2m_1)x + (m_2b_1 + b_2).$$
So to get the slope of $y_2 \circ y_1,$ we simply mulitply the slopes together. And that's what the chain rule says to do. 
