I think this is a very valid question to ask.
As far as I understand it npm run dev will compile all your assets including a source map. This basically makes it easier to inspect any errors in the developer tools in the console in your browser. If you open up the public/css/app.css file for example you can see that everything is in one file but not minified.
Now if you run npm run production it will actually minify everything and not create a source map for the files. However since it's modified the files are smaller and harder to read.
In general you run npm run dev locally and npm run production before you deploy your application. This can either be done locally before committing or during your deployment.