Drupal 8 is currently enabling a bunch of cache-related settings (e.g. the page cache, CSS/JS aggregation, etc) for sites that install via the Minimal profile.
I think that should be considered more carefully.
The primary audience for the Minimal profile is an advanced site builder who wants to configure a new site from scratch. This person is not necessarily an experienced developer, but probably at least dabbles in a bit of custom code (especially CSS and JS) while building out a site.
Caching and aggregation get in the way of what this user is trying to do, especially if they are making a bunch of small CSS tweaks to a theme. (Of course they can turn these performance settings off, but that's one extra step for them to do before building out their site, and is kind of backwards.) See also: https://www.drupal.org/node/606840#comment-2160470
It's true there are ways to override cache settings in code, so that they are off for development but left on "for real" in the actual site configuration. These techniques have been used by developers for a long time and have sort of been formalized in Drupal 8 (see https://www.drupal.org/node/2259531). However:
- This is pretty advanced. I don't see it as the kind of thing that would come naturally to an advanced site builder who dabbles in occasional dev work.
- This technique is optimized for a site that has already launched and has separate dev/production instances. It can be used before that, but for a new site that has a single copy of the site under development, it's a bit of overkill.
More generally, the purpose of the Minimal profile is to be minimal. Caching and aggregation are extra layers on top of your site, so turning them on isn't really consistent with that...
Of course, the downside to this is that people might forget to turn these settings on when they launch their site. That is a risk. But the Minimal profile makes clear it's for advanced users only - and an advanced user should know about Drupal's performance settings. If they're not that advanced, they probably should have used the Standard profile (which I agree should configure these kinds of performance settings to be on by default).