Question: When we use our standard product and chain rules for when $x$ not equal to $0,$ our derivative function works.

But when $x=0,$ $f'(x)$ does not exist. But why can't we just use standard differentiation rule on $x=0$? Won't that mean $f'(0) = 0$?

Answer: 
I think what you are missing is the fact that, while we usually speak of the derivative at a point, actually the derivative tells us something about the function in a *neighbourhood* of the point. Therefore you cannot just take the definition $f(0)=0$ and take the derivative of $0$, because there is no neighbourhood of $0$ where this is true.

To make this more obvious, define some function $g$ as follows:
$$g(x)=\begin{cases}x & x\ne 0\\0 & x = 0\end{cases}$$
Obviously this function is simply $g(x)=x$. However if we would use just the functional term given for the point in question and derive that, we'd get at the (wrong) result:
$$g'(x)=\begin{cases}1 & x\ne 0\\0 & x = 0\end{cases}$$
Of course the correct derivative is $g'(x)=1$ everywhere, as it doesn't matter how we write down that function.
Whenever you have a function with cases for $x=a$ and $x \neq a$, to calculate $f'(a)$ you have to use the definition of the derivative and do it with the limit.

In your case you have a function with cases for $a=0$. Therefore to determinate $f'(a)=f'(0)$ you have to go with the definiton.

$$f'(0) = \lim\_{x \to 0} \frac{f(x) - f(0)}{x-0} = \lim\_{x \to 0} \sin \left( \frac 1x \right)$$

Since that limit does **NOT** exist, you can conclude that $f'(0)$ doesn't exist.