Perhaps it is a learning curve problem? In a world where user manuals and UIs are friendlier than man pages, the increase in "smartphone tap-only users" will definitely be faster than the increase in "vim/terminal ubergeeks."
This is sad because terminals are powerful tools that are fast, composable, and programmable.
What we need is for terminals to provide easier hooks to help people become "vim/terminal ubergeeks". Use a command repeatedly? Help the user set up their first alias. Need to use an advanced sed command? Help the user form their first sed and then slowly take off the training wheels. Programmers really do want to learn to become power users. Terminal UI needs to evolve to help them.