Since all modern printers use a small number of inks, halftoning is needed to produce images with many colors. Error diffusion is a popular high speed technique for producing high quality halftoned images. From a mathematical point of view, error diffusion can be considered as a nonautonomous discrete-time dynamical system. In the first part of this talk, I will describe some recent stability results concerning this dynamical system. In particular, error diffusion is shown to be bounded-input-bounded-state stable if and only if the input color gamut is inside the convex hull of the output colors. In the second part of this talk, I will describe several applications of error diffusion beyond digital halftoning. In particular, I will discuss applications to digital watermarking and steganography, enhancement of LCD displays and optimal online scheduling of tasks on limited resources.