This document provides an overview of noise-robust automatic speech recognition techniques developed over the past 30 years. It analyzes and categorizes a wide range of noise-robust techniques using five criteria: feature domain vs model domain processing, use of prior knowledge about acoustic distortions, use of explicit distortion models, deterministic vs uncertainty processing, and joint training of acoustic models. The overview aims to establish a unified framework for relating different noise-robust ASR methods and provide insights to practitioners on choosing techniques and tradeoffs between performance and complexity. Current challenges and promising future research directions are also discussed.