To continue butchering this analogy, craftspeople use unfamiliar workshops all the time and no one is preaching about the evils of pegboards for organization.
However I work for customers, many different projects, and I'm more than happy to work with Ruby on Rails, that enforces a common structure to every project, lets me predict where files are and what they do, etc. The advantage is in all the time not spent on learning from scratch every single project. I can start working on the very first day. Even Django, which is mostly anarchy compared to Rails, is better than complete anarchy with every single project using different tools and having a different architecture.
Furthermore projects started with Sinatra and Flask and similar tools quickly evolve into something as complex as Rails and Django, with tons of home made fragile code. There is never the time to make them robust, because nobody is working full time on those projects for years. Basically frameworks allow developers to multitask among projects which is great for consultants and also for customers, because they don't have to pay for the extra developers.
Curious question, why you say Django is mostly anarchy compared to Rails? I haven't used Rails btw.
Django allows multiple subprojects inside an app and code wherever one wants to place it. Rails also allows code anywhere but in practice it's always in the same places. Maybe it's Python, inviting developers to overengineer their code.
That you are forced (or at least strongly nudged) to code in a certain way is good because that means that all your web services are at least superificially familiar to all developers at the organization. That special service composed from many libraries? Impossible to work on without significant time investment.
I suppose though that if you are in a domain where you actually would want a library, but all that's on offer are frameworks, and you actually need to compose them, then yes, that seems problematic.
Give me back rails.
Urgently