Boltzmann machines offer an exciting approach to connectionist networks. Salient features of these networks are their distributed internal representations and their use of massive parallelism. This paper reviews some of the achievements in the research on Boltzmann machines and discusses in particular two different fields of application, viz. (1) solving combinatorial optimization problems and (ii) carrying out learning tasks. Some open problems are also touched upon.