PK3 is an alternate extension for ZIP files. This nomenclature was introduced by Quake III Arena. However, contrarily to the PAK format used by Quake and Quake II, PK3 is not its own format, but merely a naming trick to prevent the operating system from associating these files to "virtual folders" or archiving software, and to avoid leading users believe they have to extract the content to make the game work.
Several source port have adopted support for using PK3 instead of, or in addition to, WAD files to distribute mods. But contrarily to WAD files (which have standardized marker lumps such as P_START/P_END or F_START/F_END for various lump types), there are no cross-port standard for how data should be organized when placed in a PK3 file.
Since the ZIP format imitates a filesystem with a tree hierarchy, the differences between the various implementations of "PK3" files reside mostly in the folder structure to which a PK3 mod should conform.