The rune system allows active skills to change in behavior. In some cases, the rune entirely replaces the original skill. For example, the Demon Hunter's Companion skill provides a different companion with each rune. Note however that the passive results of a long running Companion cast are always better with a rune than with no rune. The no rune version does have a distinctive active effect when first cast that may be better for a particular situation than a runed version.
In other cases, the rune adds to the original effect. For example, the Demon Hunter's Hungering Arrow skill has a Puncturing Arrow rune which purely increases the Pierce of the arrow. Puncturing Arrow is strictly better than Hungering Arrow with no rune at all.
You can only select one rune per skill. Runes may decrease some aspects to increase others. For example, the Demon Hunter's Chakram skill has a Twin Chakrams rune which increases the number of attacks while decreasing the damage per attack. It also demonstrates that runes can change the type of damage. In the case of Twin Chakrams, the damage is changed from Physical to Fire.
Changing runes disengages existing casts. For example, the Demon Hunter's Sentry skill runs for a long time (long enough to cast it multiple times). Changing the rune will cause existing sentries to disappear.
You cannot change runes while a skill is on cooldown.
I think of runes as just part of the skill system rather than a system of their own. They increase skill variety without having to select from entirely novel skills.