The theoretical explanation for the formula comes from the kinetic theory.
Let's look at a simple reaction: A+ + B- \rightleftharpoons AB. Assume this occurs in aqueous solution.
In aqueous solution, you have a zillion molecules -- a term I will use to refer to ions and atoms as well -- whizzing around and bashing into each other. Let's guess that the average molecule collides with another molecule once every femtosecond (don't assume this is accurate), and suppose there are n molecules (including water and the species we're interested in) in the entire solution.
Look at a particular A+ molecule. How likely is it to react to form AB in this femtosecond? Well, first, it has to bash into a B- molecule; otherwise, it is definitely not going to react. The probability that it hits a B- molecule is [B-], if the concentration is given in units of (moles of B)/(moles of everything). Even if it does hit, there is only a certain probability that anything happens (it might not have enough energy to react, or it might hit at the wrong angle, etc.), which I'll write P1. So the probability that a particular A+ molecule reacts in a given femtosecond is P1[B-]. Therefore, the total NUMBER of A+ molecules that react every femtosecond is nP1[A+][B-]. (Of course this is also equal to the number of B- molecules that will react every femtosecond.)
Now look at the number of AB molecules that break up every femtosecond. The total number of AB molecules in the container is n[AB], but in a given femtosecond, each one has a probability of only P2 of actually breaking up (something has to hit it hard enough, and in the right direction, to break the bond, and this might not happen). So the number that break up each femtosecond is n[AB]P2.
If you assume the solution is at equilibrium, then the concentrations of the various species must not be changing. So in every femtosecond, the number of AB molecules forming should be equal to the number of AB molecules breaking up. Therefore, at equilibrium, we should have nP1[A+][B-] = n[AB]P2. The "n"s cancel and, manipulating, we get the familiar expression {[\mathrm{AB}] \over [\mathrm{A}^+][\mathrm{B}^-]} = {P_1 \over P_2} where P1/P2 is the equilibrium constant.
So that's why you might expect the rule to be what it is.