Let's say we have a service, that needs network to be up and running. network.target won't work on boot, you start googling and find network-online.target that should do the trick, but it doesn't. Then you spend half an hour trying to figure out how to make it wait for dhcp config to finish for /etc/network/interfaces. In the end, either find that you need to enable some obscure service that waits for it and makes network-online.target actually work and enable it or you copy-paste it from somewhere on the internet and it is a shell script anyway.
I'm not sure how you can you depend on network-online.target and be sure this network waiting services are properly enabled.
With sysvinit you'd usually just put it on S99 and be done with it in most cases.