In D2 you had more choice overall i think. Things like going max block or just Vit. Or going for ES or not as a melee sorc. In D2 you had very unique items that were so rare but weren't anything specific i.e a unique or a set item or whatever, they were just magical or rare items that could roll with amazing stats for specific builds.
An example would be this GH:
And then you could socket it with something like:
Which results in an awesome self-created item that feels 100 times more personal and rewarding than anything in D3 in my opinion.
Building a character properly and meeting certain breakpoints of FHR, IAS, Block%, etc was also a process that involved a lot of planning and thinking. It took quite an effort to properly come up with all of the things required for a really good build.
Add to that things like the charms which were varied and could compliment almost any build that you could come up with. A magic find character could use MF SC's for an example. If you were missing a few FHR points to meet a breakpoint, you could give up one of your life/mana/ar sc's and get one fhr sc... There were a lot of choices involved with creating a well geared character.
Not to mention crafting. In D2, crafting could potentially get you BIS items. crafted amulets are the best example. They are so hard to come by and even harder to roll well, but if they do roll good, you might end up with a sick crafted amulet that no one else has.
Problem with all of that is that D2 thrived on duped items. I think that it's safe to say that if it weren't for dupes in D2, 99% of the people would have never got a well geared character with all of the runewords highly rolled, with things like 40/15 jewels or 20/20/3 sc's... But somehow, the game had a functioning community that worked quite well. Sure, some people were total elitists because their wealth was that of like half of the server combined (again due to dupes and other secrets).
But that's where things like ladder resets and pandemonium events came in to try and minimize the dominance of certain factors over the economy. And those did pretty well. But yeah on NL for an example, the accumulated wealth and bugged / legacy items is probably too much but that's why it's NL and that's why ladder resets exist.
What i really like about D2 is the fact that certain builds were very general-purpose oriented - builds like the hammerdin which could basically do antyhing in the game including pvp, MF, pve, carrying other people, rushing, any kind of farming, etc. And there were very specific builds like the gold find barb ( i love to bring the gf barb as an example whenever possible) - A build that had one specific role and also, one specific area and mobs to farm. The benefit of having such a character was great but building it was not a simple task. Things like that gave you a sense of working in order to make your account better overall i.e to have the ability to farm gold, the ability to rush a friend if needed, the ability to MF farm, etc...
And last but not least, PVP. To me, and i'm sure that to many other people, PVP was the true end game of D2. The amount of theorycrafting and thought put behind certain builds is simply insane. What is even more insane is how rare certain PVP items were. Getting really well rolled claws for a hybrid sin with + to traps, + to LS, + to AR based on char level, + sockets, etc? I can't believe how unique and rare certain items were. Comparing this to D3 is a joke. Not because D3 is bad, it's just a lot more normalized and "appealing to the masses".
TLDR: D2 was amazing in terms of customization that probably would have never seen its full potential actually reached if it weren't for dupes but the dupes ended up creating some sort of an economy that made sense and ultimately lead to a better playing experience overall in my opinion. Diablo 3 is a lot more streamlined and normalized and that is certainly fitting to today's gaming market.