(I call it "failing the Scylla-Charybdis Heuristic" when your model doesn't contain the downsides of opting for more of something: http://blog.tyrannyofthemouse.com/2015/12/the-scylla-charybd... )
[1] Edit: Though in some cases, one could say that, while legitimately accepting the tradeoffs it entails. Say, an environment where extremely competent people make a huge difference in terms of dollars and you have the budget to draw such people away from their alternatives. Perhaps asteroid mining, where all kinds of things could go wrong but you can't always provide remote assistance to the miner. Needless to say, "your scrappy startup with a CRUD app" is not that environment!
High-end resources are a pain in the ass to acquire and maintain... the best usually know they're the best and expect a lot of upkeep. The truth is that most work (as someone else mentioned) is boring and using high-end resources when lower-end will do is bad economics.
Most times when you get in a car, you're not racing someone else for your life or pink slips... you're just looking to go to the store and come back. Why waste half a tank and risk a flat in a racing machine just to go pick up milk?
Hell, I'm in this boat currently. I'm looking for a junior dev to help with certain menial tasks here and there. I'll pick the best _that I can quickly find_, but really, I just need someone halfway competent and I need them now.
Do you need to spend money on very best to code a simple CRUD page?
I agree with your overall sentiment, but this isn't true at all. The best cost money, and the best don't want to work on boring stuff. Most software is boring. A team of mediocre devs is more often than not just fine to do the job and it keeps cost down (and turnover likely lower).