Some, like the Commodore 128, had both: a "legacy" C64 style BASIC-enabled frontend, and another one: CP/M, the predecessor of DOS, quite popular in the 70s. I loved this combination of two very different worlds.
Its BASIC frontend was not really legacy, instead the CP/M environment was basically tacked on. It had an entire separate CPU, an actual Z80, for that purpose, but unfortunately running CP/M was almost unbearably slow (which was not really the fault of the Z80).
BASIC, in its upgraded version "BASIC 7.0" (compared to the C64's "BASIC 2.0") was quite obviously still the "main mode" and the one that supported all the C128's features.
However, there was also a third mode, a "C64 compatibility mode", which removed (almost) all of the new features and presented itself exactly like a C64 would, same ROM and all.
Why was running CP/M so slow? I never got to run it but I don't think of CP/M as being a particularly bloated/slow OS; but you say it wasn't the fault of the Z80. Something particular to the C128?
The issue does not seem entirely clear cut, but from the looks of it, while apparently the newer CP/M 3.0 used there does seem a bit slower than earlier versions, the majority of the reasons seem indeed pretty specific to the C128.