A patch can be a bugfix or an enhancement or a security fix or ..... on a package.
Sometimes patches are temporary (next version will have implemented the patch) and sometimes they are used for specific functionality which the user needs.
The only time you 'use' a patch is when you (re-)build a package.
LFS uses them for different reasons, and most of the time you do need to install them (example: take a look at 5.11. GCC-4.1.2 - Pass 2 or 6.28. Bash-3.2). The LFS book shows how to implement them.
Hope this clears things up a bit.