Jupiter's moon Io is about the same mass and size as the Earth's Moon. Based on this we would expect Io to have about the same inventory of radioactive elements and the same cooling rate as the Moon. We would expect Io to have the same level geological activity as the Moon, namely none. However, Io is the most geologically active surface in the Solar system. This means that the mechanism responsible for heating the interior of Io is very different from that of the Moon.
The mechanism responsible for heating the interior of Io is called Tidal Heating. This little tutorial is my attempted to explain a rather simplified version of the tidal heating of Io.
The force of gravity between two objects (M) and (m) depends of their respective mass and the square of the distance (d) between them. The force is very strongly dependent on the distance between the objects.
This means that when Io orbits Jupiter, the side of Io nearest to Jupiter feel a slightly larger gravitational pull than the side of Io furthest from Jupiter. Since Jupiter is very massive (318 times the mass of the Earth) this means that this difference is rather large.
This difference in gravitational forces actually distorts the shape Io. The image show this effect greatly exaggerated, the actual distortion is about 100 meters. The Earth has the same effect on the Moon but to a much lesser extent. This difference in gravitational forces is called the Tidal Force
Since Io is in synchronous orbit around Jupiter it keeps the same face toward Jupiter at all times (just like the Earth's Moon). This means that the distorted shape of Io keeps the same orientation with respect to Jupiter (this is a slight simplification). If Io was Jupiter's only moon this would be the end of the story. Io would be in a nice nearly circular orbit about Jupiter with its slightly distorted shape. This is what is happening with the Earth's Moon. No tidal heating would occur.
However, Io's orbit is in a 2:1 resonance with the orbit of Europa, another moon of Jupiter. This means that Io make two orbits for every one orbit that Europa makes.
This means that the orbit of Io is changed. Io orbit is forced the be slightly eccentric (red line, shown very exaggerated). This is the same mechanism that changes the orbits of the asteroid to create the Kirkwood Gaps, and changes the orbits of ring particles of Saturn, Uranus, and Neptune to create the gaps.
Since Io is being forced by Europa into an eccentric orbit, its distance from Jupiter constantly changes. When Io is close to Jupiter the tidal forces are greater so the distortion of Io is greater. When Io is further from Jupiter the tidal forces are less so the distortion of Io is less.
Io goes around Jupiter in 1.8 days. This means that in 1.8 days the shape of Io goes from more distorted figure to a less distorted figure.
The constant change in shape of Io causes a large amount of friction in the layer of rocks that make up the world. This friction generates a great deal of internal heat. It is this internal heat source that drives the tremendous volcanic activity we see on the surface of Io. This heating mechanism is called Tidal Heating
In order to have Tidal Heating you need:
This little tutorial is a very qualitative discussion of Tidal Heating. If you want to dive into all of the fun mathematics the Wikipedia entry is a pretty good place to start.