They form because of different conditions in the microenvironment of the crystals as they form. Factors such as temperature, availability of water, concentration of the compound the crystals are forming from, etc., all have an effect on the form the salt takes. Then, in a crystallization, once the crystal forms, it will retain that form until it is dissolved again, which is something a chemist would generally avoid, since it would be working backwards.
A good, simple example of hydrates to read about is the wiki of magnesium sulfate. Its most common forms are MgSO4 * 6H2O and MgSO4 * 7H2O. The asterisks there should be a dot. It just means that the crystal of the magnesium sulfate has X number of water molecules attached to it and has reached a lower energy level by binding those water molecules, and is thus more stable in that form. The reason it makes the isolation and characterization difficult is because 20mg (or any dose) of the *6H2O form would contain a bit more of the actual MgSO4 than a 20mg dose of the *7H2O, because the water is contributing to the mass, but will not contribute to the effect that the compound has on the body.
I only know the general format of the chemical formulas for those though, I don't know what the salt forms actually are for 2C-B HBr though, and I don't know if there is literature out there that has analyzed the subject.
Hope this was useful and not just a repeat of parts you already knew.