Original style flashers work on electrical resistance in the circuit caused by the bulbs being lit. The resistance heats up a bimetal strip in the flasher unit and opens a set of contacts, the bulbs are off, the resistance has been removed, the bimetal strip cools off and the contacts close, lighting the bulbs, and the cycle starts again.
To complete an electrical circuit there has to be a positive side and a negative (ground) side. Anything that disrupts either end of the circuit or reduces the positive or negative voltage reduces the heating of the bimetal strip, sometimes enough that it won't flash at all, other times flashing slowly. The most common cause is the ground (negative) side of the circuit, bad ground from the battery to the body, bad connection from the body to the bulb socket, corroded socket or bulb base. A possible cause of low voltage on the positive side is the fuse, either the clips or the outside of the fuse are dirty/corroded, or the inside of the fuse is corroded. Another possible cause is corroded connections any place in the circuit, any connection between the battery and the bulbs can be the problem.
A modern electronic flasher may help to provide consistent flashing, but if any of the other problems exist the bulbs will likely be dim.