Transcriptional regulation of all genes is initiated by the specific binding of regulatory proteins called transcription factors to specific sites on DNA called promoter regions. Transcription factors employ a variety of mechanisms to recognise their DNA target sites. In the last few decades, attempts have been made to describe these mechanisms by general sets of rules and associated models. We give an overview of these models, starting with a historical review of the somewhat controversial issue of a "recognition code" governing protein-DNA interaction. We then present a probabilistic framework in which advantages and disadvantages of various models can be discussed. Finally, we conclude that simplifying assumptions about additivity of interactions are sufficiently justified in many situations (and can be suitably extended in other situations) to allow a unifying concept of a "probabilistic code" for protein-DNA recognition to be defined.