My speedo failed a few years back, well to be more exact the trip and mileage indicator ceased to rotate. So long as you take care the bezel can be decrimped with judicious use of a (or several) small srewdriver(s). This can be done without breaking the glass. In my case the mileage indicator had stuck at 20,000 miles exactly (I had heard of several others topping at exactly same distance as the last zero rolled over). Moving the wheels over a few times with fingers and then plugged a drill in back (with a nail filed to give a square drive shaft) and ran it to add 20 or 30 miles onto clock to prove was OK. Rebuilt it and crimped even more carefully, using pliers with jaws protected by chamois leather. So far it has worked for 1500 miles.
The other failure which occasionally happens is oil/grease running back up drive shaft and gumming up the magnet and spinner causing them to rotate together or jumpily.
Other possoble problem can be when earth lead on car fails and speddo drive shaft used as earth strap, tends to smoke soemwhat.
Fixed lots of speedos this way in 70's (and thats not clocking them back, before anyone comments
Best of Luck,
Colin