Well, if you can't understand it by reading the information already on the internet, I am not sure I can do any better. I'll try though
Packbits works by taking a series of repeated bytes, and representing it with 2 bytes. The first byte contains the number of times the byte is repeated. The next byte contains the actual bytes. So, for example 0xEAEAEAEAEA would be converted to 0x05EA. The second byte contains the actual byte (EA). the first byte indicates that EA has to be repeated 5 times.
To decompress a packbits stream, all you do is read first byte, read second byte. Put the second byte into the output the number of times the first byte tells you to. Look at the Wiki page, it has code.
Packbits works well when there are large swaths of repeated data in the file. For example, a lot of icons usually have only a couple of colors, and there are big areas of the icon that are colored the same way. Also, you can decompress on the fly. You don't need the whole file in memory to decompress. That's why they use Packbits in TIFF format, and TIFF format is popular for icons.
Also, another advantage of packbits for using icons is that it is easy to perform a lot of image manipulation without decompressing it the icon. For example, if you want to "scale up" an icon, you just take every other byte and multiply it, and then repeat each row several times. Merging 2 images is also possible, but little difficult.
Anyways, I digress