The idea behind the Boltzmann Machine
is that it represents a closed system where an energy flows from one part to another, i.e. heat dissipation, and models the decrease in the entropy of a closed model - while the model starts with relatively low entropy (i.e. when there is a separation between 'hot' and 'cold' parts), it tends to the state of equilibrium, or high entropy (i.e. all the items of the same energy, or 'heat'). Those networks are a type of Hopfield
networks, which are used for associative memory modelling (here is the link from wikipedia).
To the reason why it is not so useful - it is due to the infeasibility of its' solution in the general case, when there are an edge between each node to the other, even a relatively small network will have n(n-1) connections.
The answer for the first question is also in part an answer for the second, but in addition to it, Constrained Boltzmann Networks
may model a more realistic scenarios, where nodes are divided into two separate groups, and the edges between them may represent weight of data flow, etc.