Molecular recognition process describes the interaction involving two molecules. In the case of biomolecules, these pairs of molecules could be protein-protein, protein-ligand or protein-nucleic acid. The first model to capture the essential features, behind the molecular recognition problem, was the lock-and-key paradigm. The overall analysis proteinprotein, protein-nucleic acid and protein-ligand interaction based on the three-dimensional structures and physicochemical parameters, such as binding affinity, opened the possibility to provide further insights in this basic phenomenon. The main ideas behind the molecular recognition are discussed in the present review.