Crafting was not only born out of convenience but also because it provided "filler content" in the era of blooming achievement craze back in the days.
What i mean by convenience. First i need to explain the modes of itemization that were in games up until crafting became a thing:
-static loot[like in fallout], which decreased player agenda in the world. Only method of obtaining a cool item was to loot it in specific play. Granted it forced some builds and players to cleverly get access to them, sometimes going to great lengths to meta the game. Not casual friendly.
-diablo introduced random generation successfully, with chance based unique drops and blind crafting. The problem with this system is that it was time consuming for player, repeating ad nauseam parts of the game to drop the loot. The blind crafting through horadric cube is fun at first, but then it become a tedium trying all the combinations, hoping it will work. This is not the way to create a game that could be advertised to new wave of casual gamers.
Crafting is easily understandable with open recipes, increase player agenda,it is familiar to casual facebook games, and follows the trope of "build your character from rags to riches", beside your typical power level increase from leveling/perks. Crafting usually grants player items that can't be find in the world, hence the player feel more accomplishment and uniqueness of their skill invested. Crafting is also a great filler and increase the game length considerably, if it's integral to strengthening your character before next difficult encounter or unlocking new game area/quests. Thus developers can claim inflated gameplay hours, to incite casual consumers to buy the game. Players get clear and coincise goal, like a quest market burning on the compass, how to get an item. No need for clever skill checks, to obtain a gated unique, you just mindlessly gather resources and then click, bam you get powerful sword or other stuff. It banks on the typical MMO grind addictiveness, of doing mundane, but easy task, to obtain an ingame advantage. Instead of using wits to outsmart the encounter, make a clever build, you trade that for easily understandable recipe.
The most addictive system is when you can upgrade a weapon or armor infinitely, while resource cost of each upgrade increase. Players will scrounge the maps for resources to get even more powerful.
I think crafting is only good, if it complement the game setting and has some verisimilitude in regards of the game setting and genre. Like it's obvious that a game about plane crash survivor on a lone island, need to have an elaborate crafting system, because you are literally in environment that have nothing beside basic building resources. Whereas RPGs can abide without crafting, as it's not a vital component to build a game upon, they can either use static or chance based system or procedurally generated randomized items, or mix of these systems just fine within the context of the plot, genre and game universe. Crafting compared to procedural creation of items, has the big disadvantage similar to the static loot system -the lists of crafting recipes are finite, unless the crafting system allows infinite upgrade system. I think chosing an itemization system, has profound effect on the whole gameplay. Crafting incentivize gathering materials, which similar to random dropping system, incentivize farming monsters or locations. Whereas static loot incentivize clever play to obtain items, but restricts player to certain dialogues or actions.
In the end a good game can use mix all itemization techniques to create a rich experience for players, no matter whether they are casuals or how they play the game.