Jails don't need their own kernel. Jails, like Solaris zones and Linux containers, share the kernel with the base system (called global).
A thin jail installs an image of FreeBSD somewhere on disk (or uses the base system, not recommended but possible) and uses read-only nullfs as a base layer with nullfs and/or unionfs mounted on top for unique directories and files within the jail. The advantage is the base read-only nullfs can be used by a number of jails.
A thick jail is one which a complete FreeBSD system (minus the kernel) is installed for each jail.
The advantage of thin jails, as described above, is that one only needs to update image shared by all the jails. Whereas each thick jail must be updated.
The disadvantage of thin jails is they are significantly more complex to set up and use. And they pose a security hazard if not set up correctly. (Though thick jails can also constitute a different security hazard if not set up correctly.)
I use thin jails. They do take more planning and work to set up. But once set up they are easier to update. And adding new jails is easy since the harder work of planning and setting up has already been done (by you).
Anticipating your next question: No, there is no documentation I know of how to set up a thin jail. Most automated tools can't do this for you. One needs to know enough about FreeBSD, UNIX, filesystems, and the minutae of your application.