Why might some files not have resource forks? Does this affect the `tar` utility at all?
Resource Forks are a part of Mac OS files that were mostly used on Mac OS "Classic" (Pre Mac OS X, E.G. Mac OS 6 - Mac OS 9) In earlier Mac OS, and on the HFS File System (and HFS+) files had two "forks", the "data" fork and the "resource" fork. The data fork is what all files today have; the resource fork was a proprietary data structure from Apple designed for storing images, icons, dialog boxes, code and more in a structured file format.

They're not "metadata", they contained actual program code. Here's a screenshot from the old ResEdit program which was how resource forks were edited

 

Unix, Linux, and Windows lack a clear analogous data structure like the Mac Resource Fork. In part due to this compatibility issue, Resource Forks are not really used anymore (they're largely replaced with "Bundles")

Because of this, BSD/*nix tools like tar do not (by default) handle the resource fork. Therefore, when you run tar cf, you only archive the data fork 

Note that in some versions of OS X, the built-in /usr/bin/tar utility will preserve resource forks, bu I can't confirm this for all versions of Mac OS X. If you want to preserve resource forks, look into ditto or make an HFS+ disk image (dmg) file

Helpful, but out-of-date information: http://xahlee.info/UnixResource_dir/macosx.html