Do docker containers have to be shutdown for Restic to back them up?

No, Docker is a software that basically orchestrates security and isolation features in e.g. a Linux system such that you get the concept of containers running. Sure, Docker is an application, but applications does not by definition have the same features or traits as Docker just because both of them are applications.

It boils down to what database we’re talking about. Some databases can be backed up straight away, some you should dump or similar before backing them up.

Correct, because you can dump the database while the database server is running.

Depends on what database it is and what contents it has, but generally speaking this should be handled as part of the dump, yes. See the man page for the software you use to dump the database before backing up.

Examples of what? Neither of these are databases as far as I know.

Your SQLite database is nothing but a file in the filesystem (be it on the host filesystem and bind-mounted into a container, or in a volume, or whatever). Yes you should be able to back that file up straight away.

Indeed, if you deem that you have such low activity, e.g. at certain times, then you might get away with just backing it all up straight off the bat. But then again, there’s no reason not to do it the safer way, just in case.

Snapshots can be used to keep a filesystem consistent for e.g. backing up the snapshot. But this does not mean that the data in your database and/or files was consistent at the time that you took the snapshot, so it’s not really a replacement for looking at the applications you have running and architecting your backup procedures to take these into account.