Hora en arduino

estoy totalmente de acuerdo con lo que afirma curro92. Un Reloj de Tiempo Real debe mantener la hora en toda circunstancia. Sino no lo es.
De la hoja de datos del DS1307 dice :

The DS1307 has a
built in power sense circuit that detects power failures
and automatically switches to the backup supply.
Timekeeping operation continues while the part
operates from the backup supply

Otro tema es lo que has afirmado sobre su precisión. En esto te doy la razón TFTLCDCyg, el DS3231 es de mayor precisión.

Algunos datos del DS3231
Accuracy ±2ppm from 0°C to +40°C
Accuracy ±3.5ppm from -40°C to +85°C
Battery Backup Input for Continuous Timekeeping

El ds1307 no es que sea un mal RTC. Su problema reside en que depende de la estabilidad del cristal exterior. Y como se usa un cristal de baja estabilidad entonces por eso tenemos corrimientos importantes.
El DS3221 en cambio usa un cristal TCXO. Si consiguieran el mismo cristal para el ds1307 estarian en iguales condiciones pero... supongo que por precio no seria una buena alternativa en ese caso.