There is a lot that can be attributed to Diablo 2 as far as the enduring popularity of action role-playing games is concerned. It built upon the basic principles first put forth in the original Diablo, and it wrote down principles of its own that ARPGs of later years would still stick with through all this time. The genre owes its own existence and popularity to this game, so it's not like you can criticize it at all.
However, there were also a lot of things Diablo 2 fell short in. Blizzard tried a lot of things in Diablo 2 when it first came out in 2000, and most of those things did succeed in what they were trying to do. As for those that were not so successful, at least they weren't so bad that it made the game bad overall, so it's not like they were outright failures. Perhaps they're still worth discussing in retrospect, so here are three of them.
First up is pretty much the gaping hole in the gameplay system of Diablo 2, which is the stamina bar. Perhaps Blizzard was aiming to do something with this, but ended up just having a mechanic in the game that only slowed things down and added an item that most players don't really care for, which is the stamina potion.
It only serves to slow you down in the early game and it's largely irrelevant in the late game, so there's no real purpose for it other than taking up space on the interface and slow you down if ever all your stamina is depleted for the time being. You are just going to keep "always run" on anyway, and this only makes kiting harder in the early game.
Maybe they were looking to mitigate kiting as a gameplay tactic, but that's like saying that playing tactically is wrong and just charging in is the proper way.
Next up are throwing potions, which are split between those that explode, those that burn, and those that leave poisonous gas. It's a neat idea to have a Diablo 2 item that are consumable yet also can be used offensively so you can damage enemies from a distance to help make fights easier.
About that last part, the reality is it is at least dubious and at most doubtful whether throwing potions can actually influence fights, especially against tougher foes in the late game. It's not like an oil potion can actually help in a Baal run.
However, it would indeed be neat if you can weapon-switch to a throwing potion to stun or freeze opponents that are after you so you can kite them more effectively, granted that you don't run out of stamina for some strange reason.
This is a lot like with throwing potions, but they are actual weapons with their own properties and stat bonuses. It is possible to pick up magical or even rare throwing weapons. While they can do more than throwing potions, to think that you can just throw a rare weapon and run out is kind of sad.
The thing about Diablo 2 is that the loot is what the player looks most forward to. Picking up a rare item and having good stat bonuses on it, only to realize that it is a throwing weapon can be rather disappointing. If it is actually powerful for the time being and your character can use it, you would want to use it as a melee weapon anyway and not as a throwing weapon.
If you are playing a melee character, you would be built for melee combat anyway. If you are playing a ranged character, you would have your ranged weapon. There is no room for throwing weapons here, and that's what is wrong with this concept — there is no real need for it.
There are other things like item qualities, ethereal weapons, and so on. While you can say Blizzard kind of missed the mark with these features and mechanics, the fact that they were able to be experimental while still maintaining the integrity of their overall product is commendable.
Despite that, it is still nice to have these things in the game as most of them can somehow be played with to add more flavor to your gameplay, whatever you may think of them.