What does completing the course of antibiotics accomplish?
As anongoodnurse has mentioned in the comments, an incomplete course can allow weakly resistant stains to expand their population. As you mentioned, the antibiotic does not cause the bacteria to mutate but it kills all strains that do not carry the mutation that provides the resistance. This mutation arises randomly (in certain cases it can be acquired by other mechanisms such as lateral gene transfer).

Many antibiotics may not kill the resistant strains but may still impose some burden on their growth. Now, with a complete course you would have eradicated a lot of strains and only a few resistant strains would be left. The probability of extinction/eradication depends on how many individuals are present in a population. When you do a complete course, then the chances of extinction of the resistant strains due to random birth-death process (and attack by the immune system) would be high because of their low numbers. However, with an incomplete course these bacteria would quickly expand their population once the antibiotic is gone. Now, with the next round of antibiotic treatment you would have more number of resistant cells to kill. As again pointed out by anongoodnurse, this will lead to further selection of resistant strains. 

There are additional factors:


Microbial community (colony) is more than just a bunch of cells. They can protect each other.
There are some cells called persisters which are not really genetically resistant strains but tolerate the drug because of adaptive phenotypes. Again, the microbial community plays some role here.