I would add that boosting can also result in finer columnar representation. Here is a scenario I encounter from time to time:
A minicolumn can only update its proximal synapses if it is active. Imagine a scenario where minicolumn A is active on both input patterns X and Y because of its existing potential connections to both. This happens very frequently due to initial synapse configurations. Depending on the increment (say 300) and decrement (say 100) parameters, this minicolumn may keep getting active on both of these inputs. There is no way of making sure that the column activates on only one of the patterns with these parameters. If boosting is enabled, the overlap of this column decreases giving chance to another column B getting active. This newer column now learns patterns X and Y as the boosting allows. A and B both reinforce their connections to X and Y, so B now competes with A for activation on X and Y. I regularly observe that this competition results in specializing to one of the inputs because of columns having different potential synapse pools and the synaptic update rules. Previously you had column A representing both input patterns X an Y. With boosting on, A represents X and B represents Y.
If you set parameters to be decrement>=increment (for example 100 and 100) you can make sure a column always represents a single input. However, you now lost spatial generalization capacity because no column would overlap on representations of two different input patterns.
TL;DR Previously you had column A representing both input patterns X an Y. With boosting on, A represents X and B represents Y.
Edit: decrement<increment should’ve been decrement>=increment.