There was a strong movement a few years ago stressing the importance of web designers actually learning how to write code if they didn't do so already. This made sense to some extent so designers would know what could and what couldn't be done in terms of website layout (opens in new tab) so that website mockups (opens in new tab) are made with those limitations in mind.
Now this movement has started to subside since the opinion that designers should design what is best for the user, not the developer and the limits of the web, has arisen, which is an opinion I agree with. So designers have stuck to doing just that, front end developers generally stay away from Photoshop (or whatever software is used for design), which has caused those in-between to have a rare combination of skills (some even call them full stack designers (opens in new tab)).
Version control is possibly the best way to keep records of a project as it 'matures' during development. Having the ability to make deviations (branches) from the main project, being able to go back to previous versions of s project, and ultimately, being able to share a project easily with other members of the team. These are just a few benefits of version control.
Git (opens in new tab) is by far the most popular language used for version control (not that I have any knowledge of other languages), and although there are a few popular GUI tools that allow those who don't use the terminal to benefit from the features of version control, such as Tower (opens in new tab), and the Github desktop client (opens in new tab), I believe you get a lot less control using those than using the terminal itself, especially when it comes to fixing merge conflicts.
Open source projects
Open source projects are the second benefit of using the terminal that I mentioned in the first paragraph. I know the term 'open source' can refer to a wide range of things from open source 3D graphics software (opens in new tab) to open source game assets (opens in new tab), but I'll only be talking about open source front end projects for the web in this article. You may be aware of web project such; Nodejs, Sass, Gulp and Bower or even Autoprefixer and Uncss, all of these can be easily installed and run via the terminal.
I am aware of GUI tools such as Hammer for Mac (opens in new tab) and Codekit (opens in new tab) that make it easier for those who don't use the terminal to benefit from these tools however, I believe those tools limit the amount of access one has to the wealth of open source projects out there.
I might come across as a 'gung ho' supporter of the using the terminal, but I haven't always been that way. I had a lot of initial issues with using it which I'm sure some reading this article probably have too.
First of all, it looks horrible, a black screen with white text (or whatever theme you choose for it) isn't really approachable to – well, most people, considering applications are becoming prettier and prettier.
Second, it takes a while to get used to the UNIX commands, although the full vocabulary isn't required to get up and running with a simple web project, it still takes a while to become fairly fluent in it.
Thirdly, since there are so many packages and projects out there, it takes a bit of research to figure out which option is best for your project. Rbenv (opens in new tab) or RVM (opens in new tab) for ruby version management, Gulp (opens in new tab) or Grunt (opens in new tab) for task management, Handlebars (opens in new tab) or Jade (opens in new tab) for a templating language and so on.
Finally, using it kind of makes you look like a very geeky hacker which is probably a draw to a lot of people (myself included), but I can see how it can put others off.
Once these hurdles are overcome and get a basic setup and understanding the open source world is your oyster, you can pick and choose anything out there for your project, the only limitation being how much research your willing to make into tools prior to using them.
Although there is some learning curve and a certain level of 'geekiness' required to muster the courage to use the terminal, the benefits definitely outweigh the drawbacks. Not only when it comes to flexibility in development tools and ease of fixing issues, but also the community aspect, improving projects that belong to others, collaborating to make new features, or cloning someones project to create a variation that suits you. This results in either the web being slightly easier for newcomers, or improving the web as a whole.