PUL is the most waterproof.
Polyurethane Laminate (aka PUL) is a fabric that has been heat laminated to a layer of polyurethane. Technically, most any fabric can be laminated, but diapers are usually made from laminated cottons, polyester knits, or poly blends.
It is also the least breathable- most like a disposable. We use PUL quite a bit- always under clothes. I prefer 2 different types of covers- Thirsties and Bummis Super Brites. I find these two to be the trimmest and the most "bulletproof." The fit fantastically. Thirsties run super big and Bummis run pretty small. They both have extra leg "gussets" to keep messes in!
M in a thirsties- strange, I can't find any pics of G even though they are what we have most of...
My second choice for days and first choice for nights is Fleece. Fleece is SO easy to wash (I just wash them in the regular laundry) and really breathable. It keeps my sheets dry at night every night! I make my own fleece covers, but we used to buy them. You can find those that snap or velcro close, but I prefer the pull-on style, or fleece pants (must be 100% polyester). A fleece cover that is pull-on is called a "soaker" which I make myself. Fleece pants used as a diaper cover are called "longies." There are also pocket diapers made with a fleece outer for night time.
Before I started making my own, we used the stacinator deluxe at night- there is NOTHING trim about these. As for pull on soakers, most are made by WAHM's.
Wool- not my choice, but lots of people love it. I am too lazy to take care of it even though it's not really hard. You have to hand wash and lanolize it to maintain it's waterproofness. Not for me. It is VERY cute though and if you're talented in a knitting kind of way it might be for you. Also- you can make wool covers out of old sweaters. It's very very breathable and much softer on baby's skin than you might think.
M in some wool longies made by my friend Josie :)
So those are your cover options. Hope you enjoy!