There's a bunch of scripting around them, but the point is more around the isolation - jails are properly isolated in a way that containers are (explicitly) not designed to be.
bastille among others try to provide a nice UX atop them, but the important thing is that jails are strictly more powerful (on FreeBSD a jail can have its own network stack, while still running on the same kernel, for example)
I dunno about 'superior' but jails are very definitely different and provide a bunch of features containers don't.
I'm not an expert on this but Jails has a ton more features. You can replicate a docker-like workflow if you want, and there are some scripts to do exactly that. Just an example of something that I don't think you can do with docker is "nested Jails", you can have hierarchical Jails running which can lead to some really nice organisation (or a mess, it depends on who builds it, but that is true for anything right)
I'm far from an expert in either one, but jails being built in definitely makes them feel more integrated. Also certain things about docker always felt a little weird - seems like it litters random places in filesystem, the whole docker daemon architecture feels strange too. Definitely easier (at least for me) to get up and running with docker, even if it feels more janky (to be fair, I haven't used iocage or some of the other jail management tools so perhaps that would make it a bit easier).
Haven't used it yet but what I've read about podman looks like it may fix some of my docker complaints. Again, I've only dabbled in both of them so would be happy to hear other experiences as well.
for jails i use iocage, you can't compare it to docker but a bit to kvm (but it's not hardware-virtualization but os-virtualisation), BastilleBSD is what docker is for Linux.