Patches are a way to distribute changes to files. In the context of ProjectPier, it means that patches usually describe changes to code. In fact, patches describe the changes between a before and after state. That means that if you have ProjectPier in the before state you can arrive at the after state by simply applying the patch.
We use patches for content control even though the ProjectPier source code is managed at GitHub. This is because patches provide a great deal of control and convenience; they are small, plain-text and can be sent via e-mail; they are focussed on a change and therefore easily read and judged.
This also means that a GitHub account is not required to supply patches; anyone with a ProjectPier.org account can go to the issues queue to upload a patch. The tips for contributing apply to core as well as contributed modules.
Patches serve a second purpose; some modules require changes to ProjectPier core files. Some module authors provide modified modules, others give you patches to do it yourself. It is recommended to use already patched files provided by the module author. When these can't be used or are not available, use patches, but exercise caution.
Warning: Patching is something that should never be done on your production site unless you have sufficient backup and testing performed. While patching itself is relatively easy, understanding the implications of a patch is not. Patching your system can lead to loss of data and/or site instabilities