Musk claims he won't take SpaceX public because public investors have short attention spans and would require profit/return too soon. Because he wants goals set out further than the next quarter, he has kept the company in the hands of like minded investors.
That may just be bloviating on his part, but it does seem at least sensible on the surface.