Like most things in life, I think it depends :-)
At one extreme, you might want to back up absolutely everything, so that in the case of a disk failure you can restore to precisely where you were: every app, file, setting, configuration, &c. This isn't really practical to do manually. (It'd need root access, knowing exactly which vm/cache files to exclude, what to sync first, &c.) Time Machine can create incremental backups, and tools such as Carbon Copy Cloner and SuperDuper! can create clones of your drive(s).
At the other extreme, you might only want to back up your most irreplaceable files (e.g. documents, photos). This should be easiest, but will of course require the most work in the case of a failure (re-downloading and reinstalling apps, re-setting up all the config, &c). For this, you should know where the files are; it's easy to copy them by dragging them to another drive.
For something in the middle, it depends what you might have changed and how much effort you want to put in…
I think the question has already given the three most important areas, which will probably include all the important stuff for most people:
/Users
/Applications
/Library
If there's anything vital elsewhere, then you'll probably already know about it, because you'll have set it up yourself! Examples might include:
- programs/libraries you've compiled and installed in
/usr/local
, /opt/local
, /opt/sw
, or /opt/homebrew
(manually or via a package manager)
- hosts file entries you've added to
/etc/hosts
- directories you've created under
/
(before macOS 10.15 Catalina)
- locales you created in
/usr/local/share/locale
- daily/weekly/monthly scripts you created or linked under
/etc/periodic/
- a message-of-the-day you wrote to
/etc/motd
- files you've written elsewhere (e.g.
/bin
or /usr/bin
) by disabling System Integrity Protection
Also bear in mind that apps, drivers, and anything else that's not plain data will need care to preserve user, group, permissions, ACLs, &c; most external filesystems won't fully support all of those. And you may need root access to back up and/or restore some things. All in all, it's much easier to leave it to a dedicated program!
Finally, this is a good opportunity to remind everyone of the importance of backups. There's no single correct strategy; everyone's needs are different. But please think about what would happen if a disk died, and do as much or as little as you need to prevent that becoming a disaster.
/usr/local/
, which would be a pain to do over.