Dependencies are packages that the project uses at runtime. Which means they need to be installed for the program to be able to run. Without them the project won't work.
devDependencies are packages that are used during development of the project. They help a developer to achive some task. As an example, a devDependency can be:
- web server (so that a developer can run the web application locally)
devDependencies are helpful during the development and build process. They are not needed for the program to run.