A material does not need to have no holes in order to be waterproof. It simply has to have holes that are too small for water to get through. This is why garments can made that are breathable, yet waterproof.
There are many cheap waterproof materials, such as plastic sheeting. To make waterproof clothing waterproof and breathable is a complicated process, and that is why these clothes are expensive.