What I have had, although on Armbian on my orange pi's, was that the partition created for logging (/var/log ) is too small and a simple or very repetitive error clogs it up making it hang.
Easy to fix if you know about it, but not so easy to figure out if you don't, as it could be an obscure log file.
Rasbian might do the same, I'm not sure though.
Flashing your backup image does not have all the junk there and therefore works fine until it fills up again.
What also helps me sometimes is to make an image of the "broken" card and then compare it to the working image, diff works well for that as it filters out the clutter.
But as
@Tinuva pointed out, a bad SD card does funny things as does a bad power supply.