If you mean .patch files as produced by standard Unix/Linux diff(1) tool and applied by patch(1) tool, then there's a convention on having description for them right inside the patch file, at the beginning of it (that's because patch(1) tool will ignore anything before the actual patch header in the file).
Here's typical example from a Linux kernel patches.
There're number of tools which can be used to manage set of (related) patches: list, show description, apply/unapply, etc. The simplest one is probably quilt. Then there's also StGit. These two system are centered around the concept of patches (and so allow additional flexibility dealing with them, for example, to change the order in which they're applied).
But what's important is that whenever you use any version control system, you essentially deal with the system to store and describe patches.
For example, "git log" will show you descriptions of patches applied, in order. And "git log -p" will show both descriptions and patches themselves.