In spatial pooling, all columns compete with surrounding local columns using inhibition. The columns that survive the aggregate inhibition have their cells activate. Local competition between columns and cells have many functions, beyond that in spatial pooling. They also play a big part in attractor networks for memory-completion and decision-making.
Competition is important for Hebbian learning. If a number of cells shared the same potential pool they would result in representing the same patterns.
Even if different consistent patterns were presented, the cells will still represent the same one.
Even if the each dendrite had different permanence values, with the possibility that each cell might have different initial conditions (therefore possibly representing different patterns), they will still tend to represent the same pattern.
If the cells had inhibitory connections to each of their neighbors then they will each compete to represent a different pattern. If a cell wins at representing a pattern, it will inhibit its neighboring cells, not allowing them to represent the same pattern. Self-organization occurs.
It seems that throughout nature, competition is the primary driver for self-organisation and adaption. Another term for competition (in the biological sense) is "natural selection" - which defines it as a selective system. A good example is clonal selection in immune system. When defending against an invading infection, the immune system puts millions of different varieties of antibodies to the test. Those that 'fit' the bacteria or virus is then selected for reproduction through the system. And in the cortex, those cells that happen to have the best connection to an input pattern (even if the connection is weak) will be selected to represent that pattern through reinforcement and local inhibition. (A pattern is never really represented by a single cell. A pattern is represented by many distributed cells, each outside of each other's neighborhoods).