Dan: Those were good times, huh Rorschach? What happened?
Rorschach: You quit.
- Watchmen
Shell accounts never died, and became more important...
Because the Web runs on them. Think about how you install a Wordpress instance:
ssh hostisp.example.com
cd public_html
wget https://wordpress.org/latest.zip
unzip latest.zip
Thats a shell account! That's the exact same shell account we used in the 90s for email and Usenet.
So instead of being a private browsing toy, it's now the backbone of the Internet.
... just to way fewer people
So you're really asking not why they died, but why they faded away in consumer use. The answer is LAMP.
The mixed text and graphics of the Web were cute... but the real win came when the Web's multimedia was able to bridge into the transactiony-databasey stuff that we always needed the shell to do. Thanks to more robust Linux-based web servers like Apache talking to databases like MySQL via connecting languages like PHP or Perl. It turned a lot of typing into mostly a point and click affair, and reduced the need to know commands.
For consumers, the shell's "killer apps" were picked off one by one. Email moved to a web-based UX (thank HoTMaiL), Amazon developed a web frontend instead of the telnet interface, Melvyl did the same... Usenet either got a web frontend or was wholesale replaced by web based BBS's or other services like this one.
For web developers, a lot of us couldn't live without shell.
Also, computers run *nix natively now
Which means your own PC has shell accounts locally and you don't need to go out to an external server for that. Back in '91-95, local PCs could barely run a windowing OS like System 7 or Windows 3.11.
So I don't need to go to a shell account for 98% of my shell usage, I can just open Terminal and I'm at one. Honestly the only thing I regularly hit a shell for is 'wget' because I can't be bothered to install it locally. And managing my websites, obviously.