Precisión con tipos de Datos .NET

Por qué en el Framework .NET puede pasar que:
0.2 + 0.1 = 0.3000000000000000000004 ?

Algunas veces, escoger el tipo de datos apropiado para nuestra aplicación puede no ser trivial. Aquí muestro un caso en el que se marca la diferencia entre una aplicación errónea y una correcta, solo mediante un cambio de tipo desde double a decimal.
También hablo de errores de precisión y cómo evitarlos con el uso de deltas de error. Finalmente muestro un tip de Visual Studio 2010 para escribir código más claro.

En el video menciono las Visual Studio 2010 Pro Power Tools. Un conjunto de extensiones para Visual Studio Professional (y superiores) que mejoran la productividad del desarrollador. Estas tools, las pueden descargar de MSDN de manera gratuita.

Este post fue originado por una pregunta de Juan David