Why battery voltage is not a good indicator of battery health
Because batteries are far harder than you think
Being the sort of geek I am, with access to an actual programmable load tester and TSD's python scripts, I'd actually load-tested the Trojan battery before I fitted it in May 2016 (it was already old then, maybe 10 years by the date label!), comparing the result when I finally removed it shows how performance degrades massively but the battery voltage at idle (no load) is almost identical.
The dead battery is managing about 3 hours at C/20 rate (5A for a 100Ah battery) compared to 18 hours it managed when fresh (but by no means new). And it's not managing the high-current spike at all - that's the first very low blue spike, at which point the test script gives up on that idea and just runs the C/20 tests.
Although the “good” battery starts a little higher (maybe 12.6v to the “bad” 12.4v), after a short period they're both floating up to around 12.4v at zero-load. Measuring the voltage, you would have absolutely no idea that one battery had about 100Ah capacity and the other had perhaps 25Ah.
The Science Part
If you're interested, here's the science, it's TSD's work
The test script runs the load at C/20 rate for 9 minutes, then at C/4 (25A for a 100Ah battery) for 10 sec, then allows it to rest for 50 seconds, adding up to a somewhat realistic load test that should take 20 hours to discharge the battery to the cutoff threshold.
If the battery voltage drops too low on the C/4 test it replaces that phase with another minute of C/20 instead, as seen on the blue trace at the first big dip in voltage.