Different kinds of fibre weigh different amounts. Wool is fairly light, whereas silk and cotton are heavier. Therefore 50 g of wool will give you more yardage than 50 g of silk. Think of the size difference between a pound of feathers and a pound of sand. The sand will likely fit in a small bowl, while the feathers might fill a garbage bag. Many people go by the yardage when subbing yarn.