Imo, grinding in games keeps me hooked, at least for the most part. Some games, like Destiny and Destiny 2 are full of grinding. Its fun for a time, especially Destiny 2. For this game, it can get very repetitive, same enemies, same bosses, and all the extension packs seem like the same story. The best part of Destiny 2 was the main story, that was really good. Other games like Minecraft, though may have a smaller size of grinding, and Terraria, do it well. In Minecraft, you grind for XP and ores (there is a really cool infinity ore machine that you can build, but you need to grind to get 64 of that ore, easiest is iron and redstone, but diamond and gold can be difficult) and Terraria same thing. They make it fun.
Other games, like roguelikes, also make fun, if done right. One example, Cave Blazers, is a very fun roguelike dungeon game. Certain items may be very hard to get, but the fact that you have to start all over when you die keeps me playing it.
Other games, like recently, The Avengers, was lazy game making. They copied Destiny, and it didn't work out. They thought that adding a loot based system and heavy amounts of grinding will keep players. Nope. Instead, many players left because it was monotonous and boring. Some of the mechanics weren't even working either, as one player had an issue with the tower climb grind. Apparently he was on the last stage, (there were more than 10 levels to past and once completed you get special gear) and it glitched out on him. He reset many times and was on this grind for hours, only to find out that the last stage won't even work. So much for that special gear, even other's had the same issue.
Tbh, grinding is only fit for some games, and for some audiences. Not every game should be a grinding loot based game, and if there is a grinding game, it has to be enjoyable and not a chore.