The main practical reason to not use it is if you don't need it and have an environment or task that would benefit you going for something else.
A classic example is containers, if they do have an init system at all, it's usually not systemd but something much simpler, because the environment/task doesn't need it and there's a memory and storage benefit to not shipping the extra bulk
Void uses runit because they want to optimise for quick and lightweight without caring about wide compatibility, so that's a choice aligning with their philosophy.