What can PeLib do?
PeLib helps you to work with Portable Executable files. It's not only possible to read and modify simple data structures like the MZ or PE header, it's even possible to modifiy the more complicated image directories. If you've always searched for an easy way to add functions to a file's import table, to modify it's resource section or just to browse through the exports or relocations tables PeLib is for you. It's even possible to create a valid Pe file completely from the scratch if you should ever feel like it.
What PeLib is not
PeLib is not a simple file patcher. In fact it's not even possible to patch random bytes in files with PeLib's standard functionality. PeLib only knows the complex datastructures which are found in the header of PE files. You can only modify files through these structures.
PeLib is made only for Windows on the x86 platform and only for PE files. There will never be any support for deprecated file formats like NE or file formats which are not native to the Windows platform (ELF, ...). And although PeLib should compile on other platforms due to it's strict adherence to the ANSI/ISO C++ standard you're on your own there.