The practical test is capillary entry pressure. If the buoyancy of the column cannot push hydrocarbons into the seal's pores, the seal holds. Shale, salt, and tight carbonate are the common seals. Thickness helps, but a thick rock with large pores is not a seal, and a thin rock with a high entry pressure can be one.
A seal holds a finite column. A taller column than the entry pressure allows will leak the excess. Faulting or fracturing the seal is a separate way to lose the column, even when the unfaulted rock would have held.