How can this be an estimation, and how is it so wrong? Doesn't the program just have a hard-coded length? Or does the time vary based on clothing weight or something? This seems so utterly strange to me.
The problem occurs because there are 2 conditions that need to be fulfilled.
Its programmed to spin at set RPM for 6 mins.
Before it can initiate a full speed spin it needs to ensure the drum is balanced. If its off balanced it will damage the spin motor and other parts of the machine in short order. (reference old machines that sound like an earthquake during spin cycles). It will keep attempting to adjust the clothes by start-stopping so clothes can fall in place. Only when the vibrations are down to acceptable levels will the machine initiate a full speed spin dry. Machine will stay stuck at set spin time until condition 2 is fulfilled.
The way to fix this is to open up the machine, untangle balled up clothes and allow the spin dry to resume.
I find you get much more accurate estimates when you don't overstuff the machine. You're supposed to keep it 60-70% full to allow for proper agitation. Lots of people top it off.
If you read the instructions, on mine anyway, it says a full load is to the top of the basket without pressing down on any of the clothes. I always lay them around in a circular pattern to even out the level of clothes as I'm loading it. My fiancee used to shove as much as she could in there, and it would get off balance and wobble and shake the house. It took a lot of convincing but she finally believed me after I kept pointing out that's probably why it was happening.
Washing machines (mine anyway) wash by spinning back and forth in water with detergent, so if you stuff it full there's not much room for any clothes to move and they don't get very clean and will come out smelling like laundry detergent.