My current Crusader build in Diablo 3 is a Holy build. It's a build that has a relatively large amount of ranged damage. However, the Crusader archetype is a sword-and-shield melee fighter. So for a few Paragon levels, I tried out a build focused around melee skills and blocking, with lots of things like thorns (reflective damage).
This melee build was actually a lot of fun, and effective against enemies. It was especially fun with large packs of enemies, as you just wade into the packs, get surrounded, and then everything around you blows up as you block all the damage.
However, there was one mechanic in D3 which made this melee build extremely frustrating: Treasure Goblins. Treasure goblins are enemies which have a large amount of loot. But they don't attack you. Instead they run away from you and attempt to open a portal through which they escape. Currently there's an event where the Treasure Goblins can be found in pairs or packs.
Treasure Goblins were supremely disappointing with a melee build. While chasing down one goblin, the others made their escape. I was basically only able to kill half a pack of goblins. In contrast, the ranged Holy build can usually get all of them.
It was very frustrating because Treasure Goblins are somewhat rare, and very rewarding if you kill them. So despite the fact that the melee build was fun and performed well everywhere else in the game, I switched back to ranged. After all, the ranged build dealt just as well with regular enemies, and had the advantage of making it much easier to kill Treasure Goblins.
This illustrates how hard it is to balance melee against ranged in these sorts of games. Melee classes or builds have a fundamental weakness built into them. Ranged classes or builds need a similar weakness. When they don't have that weakness, the balance tilts too heavily towards the ranged classes and builds.