Can someone explain in general what a central difference formula is and what it is used for? Topic- Numerical Approximations

Difference approximations of derivatives can be used in the numerical solution of ordinary and partial differential equations.
Consider a function that is smooth in some neighborhood of a point $x$. We can approximate the derivatives using values of the function at speicified mesh points. If the mesh spacing is $h$ the mesh points are $...,x-3h,x-2h,x-h,x,x+h,x+2h,x+3h,...$ Using Taylor's theorem we have
$$f(x+h) = f(x) + f'(x)h + \frac1{2}f''(\xi_2)h^2.$$
The forward difference approximation is 
$$f'(x) \approx \frac{f(x+h)-f(x)}{h} $$
and the truncation error is $O(h)$.
The central difference approximation is more accurate for smooth functions. Extending the Taylor approximation as
$$f(x+h) = f(x) + f'(x)h + \frac1{2}f''(x)h^2 +\frac1{6}f'''(\xi_3)h^3,\\f(x-h) = f(x) - f'(x)h + \frac1{2}f''(x)h^2 -\frac1{6}f'''(\xi'_3)h^3\\$$ 
$$f'(x) \approx \frac{f(x+h)-f(x-h)}{2h} $$
and the truncation error is $O(h^2)$.
Since the central difference approximation is superior to the forward difference approximation in terms of truncation error, why would it not always be the preferred choice?  In some cases, for example convection-diffusion equations, central differencing of convective terms can lead to numerical instabilities and poor resolution of steep gradients (artificial dispersion).
