Finding loot shouldn’t be frustrating, that’s an itemization problem, it’s a completely separate issue. If you have to find that upgraded version of a specific set item or unique that gives a bonus to the one ability you want to use for your class… that’s bad. Why should devs limit this by creating specific gear with overpowered effects for specific skills?
It feels better to have a variety of ways to plan your build that organically evolves as you progress. If you are just farming the next tier of items for bigger numbers, something is wrong. And even with good itemization that diminishes reliability on specific builds, if drops from farming mobs is completely RNG it’s still not ideal.
Here are some ways other games have tried to fill in the blanks:
Enchanting. Basically, mechanics that let you somehow customize affixes and suffixes on different items. This doesn’t have to be one system either. For example, a competitor’s game lets you farm special affixes and suffixes that only drop in special areas (shaped gear, etc), you can also add a modifier to gear (labyrinth enchants), unlock modifiers through discovering enchants on items (veiled enchants), and harvesting modifiers from special monsters through a bestiary mechanic.
Crafting: Again, this doesn’t have to be one system where you farm generic ‘rare’ materials from anything. Different materials can, and probably should, do different things. Just like enchanting, at it’s core it’s also about letting you customize gear you have, too, not just creating new gear from stuff. Diablo 2 had jewels and runewords as complementary systems. Jewels weren’t like the gems that they arguably replaced, they rolled with random effects like rare items. Additionally, sockets on legendary items were relatively limited to avoid power creep and allow players more freedom to build powerful rares since they had more sockets. This can take other forms too, and you can start going more in depth by designing challenges built around unlocking the ability to do this too.
Now, even with all this trading is still desirable, because different people will want to find different stuff. You’ve got a larger variety of things to look for. If you find a rare spell material that isn’t great for your build, trading it for a rare defensive material might be something that begins to make a lot of sense. Even with this, it still isn’t guaranteed to be the only activity you do to progress since there’s still randomization involved, it just adds another layer. And even if you trade items, relative rarity and scarcity can now use more meaningful currencies like these materials instead of something that has no value in the game like gold or something generic you find anywhere… thereby mitigating people just abusing the system so that it’s easier to get power from trading than playing. You’ll notice games that get this right have both systems feeding into each other.