I would like to have an example of case where the debugging is harder in this kind of normal case?
For the some cases I have had, it actually felt easier to debug. Journalctl -b0 shows all entries after last boot, and changing number (-b-1) will show earlier boot. This way it was really easy to compare working boot with non-working one.
systemctl status {servicename} will show status of the service and gives instructions to check logs in case there is problem (even giving exact command line how to see the desired log).
Quite a lot of people are telling that debugging is harder, but from my experience, for average guy, systemd is easier to debug than traditional init.
I haven't seen any missing logs in either with any other init or with systemd. But actually, if there is missing logs on traditional init system, you would not even know it because there is no any kind of checks for log file integrity on. On systemd journal, you would know if the logs are corrupt or something is amiss, but at the end you probably could not do anything for it anyway so it is kind of moot point.
For more advanced user (if that user knows shell scripting) it is of course possible to read the traditional shell scripts and try to debug it that way, but for normal user it does not matter.