I think the important thing is to create a self-consistent world. You're right; it doesn't need to be a precise 1:1 match to reality. After all, we certainly can't cast magic spells like characters often can in RPGs. Certainly, it's quite possible to make a world where, say, carpets are spun naturally by, say, magical Carpet Spiders, so they are cheap and readily available. But I think it's important that anything which significantly deviates from reality has a reason. To me, the goal is to make a fun game within a world which is self-consistent. But, I need to be careful because we all have implicit assumptions about how things look and act. Breaking those assumptions, without an excellent reason, can break the player's suspension of disbelief. And that can ruin a player's fun. So I try to avoid it.