Apex Debug logs or Apex Replay Debugger, both generates Logs. Which is the best to choose.
The debug log is data, while the Apex Replay Debugger is an executable. As such, you can't compare the two, much like you can't say "What's better: Microsoft Word or a Microsoft Word document?" Just like you can open a Microsoft Word document in other programs, like Open Office, you can open Apex Debug Logs in other programs, such as the Developer Console or Microsoft Log Viewer. In contrast, you cannot open the Apex Replay Debugger in another program as you would a document, because it's an executable, not "data."
The Apex Replay Debugger is a powerful tool that allows you to see exactly what line of code you're on, the state of memory, and so on, just as you would with a live debug session, but without pausing a live server thread. This is very similar to the Developer Console's Debug Log Viewer, except coupled with an IDE so that you can easily step through, set "breakpoints", and all other kinds of nifty debug tricks on a transaction, all without having to pause and/or run the same code on the server over and over again.