Why does a semiconductor conduct better than an insulator but worse than a metal? And why does it conduct better as it gets hotter, when a metal does the opposite?
The answer is band theory.
In a solid, the energy levels of the atoms merge into bands. Electrons in the valence band are bound to their atoms, while electrons in the conduction band are free to carry a current. Between the two is the band gap.
In a metal the bands overlap, so electrons move freely. In an insulator the gap is large, so almost no electrons can cross it. In a semiconductor the gap is small, so heat lifts a few electrons across at room temperature, and the warmer it gets, the more cross. Each one leaves a hole behind, and both electrons and holes carry current.
Watch the video as I give a simple analogy on energy gaps.