From all my reading in the Drupal subreddit, modern Drupal isn't especially useful for real world scenarios without a bunch of contributed modules and stuff... hence Drupal CMS. Additionally, folks were recommending not using Drupal 11 until it had been out for well more than a year due to the sad state of contributed module upgrades. I'd wager this is due to the much smaller Drupal community than the version 7 highs.
I get needing to have command line skills for a web framework upgrade (doesn't seem like an unreasonable expectation to me), but why on earth would an upgrade require writing your own code?
Drupal 7 was useful enough on its own and with regularly supported modules that most folks who used it never wrote code. Most smaller folks who used it just dropped the files on a shared web host via FTP or similar and ran with it.
Modern Drupal is more geared towards coders rather than smaller folks. And the modules suffer from slower updates with the smaller community around Drupal than there used to be. So you'll likely have to use your own custom coded modules or have to code the updates for the existing ones when you upgrade Drupal over time.
This isn't correct. Yes it was true from Drupal 7 to 8, but one of the primary goals of that change was so that every major version after could have seamless in-place upgrades - which they have. Yes there's deprecated code etc. that you might run into in contrib. or custom modules, but the site upgrades themselves are easier than ever.