For me, Hercules is have a really clean code, although use C language instead of C++, rAthena is more updated and closer to the officials and they are using C++ language, although I choose Hercules because Hercules still can use 2020++ C;lient with older Renewal Formulas, which I don't like Episode 17++ formulas with script only updated until episode 16.2 Terra Gloria. where the world in game and the formulas did not match, for me it was unbalanced.
Hercules has feature Bartershop work, which is not working at rAthena right now, maybe soon they will add it. In terms of modification, Hercules it's very easy as long you have C language basic.
When you compile in rAthena you will find a lot of warnings appears althought the emulator still run, but it was unstable.
So in simple.
Stability, Cleaner code, Memory Usage, Client feature support, Easy Modifications, and Formula and World match, and Compile Speed Hercules win.
Updates, and Frequent updates, Advanced Modifications (Because rAthena use C++) still rAthena wins.
In terms of source structure It has very similar structure.
So, for me there is pro and cons between this two. But still it came back to your server specification needs.