If I seemed hostile, it is because I am dealing with this exact topic on almost a per contract basis, and it is becoming exhausting. However I don't recall calling anyone a dumbass.
Here are some ( sanitized ) examples from my current project that exemplify the danger of allowing this line of thinking among your contractors:
1. Completely unmanaged client dependencies on a per page basis ( negligible code, infinite heartache )
2. Template files that do not reuse code due to laziness or differences in markup style ( 20k+ extra lines of code )
3. CSS files crafted on a per page basis, again little code reuse due to developer style and competence ( 20k+ extra lines of code, huge download size, difficult cacheing requirements )
4. Confusing and undocumented deployment procedures ( I had to completely rebuild the infrastructure from the ground up )
5. Each and every page had a its own js file, with its own global exports, dependencies, and code style. Most were over 1000 lines of untested jQuery Stackoverflow answers. 65 unique pages, sharing almost no code.
6 My favorite, a grunt task that searched the code for 'some_var + other_var' and replaced it with a string literal "https://my-dynamically-generated-cdn-fingerprint.cdn.com/res...
7. Superflous build tasks and bugs due to inconsistent project structure. Some people like /dist others /builds etc.
The list goes on, I'm finding more stuff every day.
This is a well funded project, 1 year into development.
Just implementing react, gulp, and sass allowed me to remove 60k lines of code over 2 months. The app still works in a request / response method, haven't gotten to that yet. The backend is still a tangle of coffeescript.
This is the risk you run by not imposing structure on your developers via solid frameworks and tools. If you can't pick the best tool for the job, hire someone who can. Otherwise you'll end up hiring him anyways to fix your broken 20 million dollar "unicorn".