The ballast resistor limits the current through the coil. Its part of a feedback system. At low RPM the coil is easy to saturate and would get too hot. How the system works is when the coil starts drawing alot of current, at low RPM, through the resistor, the resistor heats up. As the resister heats up, its resistance goes up, limiting the current that will be available to the coil. The opposite happens at high RPM.
When you turn the key to the 'start' position the resistor is bypassed, supplying full battery voltage to the coil. This is because while cranking then engine the battery voltage drop 2 or 3 volts. If you watch an engine being started at night, with lousy plug wires, you can see the voltage overpowering the plug wires and arcing to the heads.
Some aftermarket coils come with their own matched resistor.