ROM BASIC was available on IBM PCs but clones typically didn't have it.
The flexible design did catch on, simultaneously a blessing and a curse to IBM.
The basic in ROM on IBM PCs was cassette basic and only supported loading and saving from cassette tapes. Although there might have been an obscure clone manufacturer or two which supported a cassette tape interface, in general clone makers didn't so there was no needed for an embedded cassette basic. Even IBM didn't support a cassette tape interface after the original IBM PC (5150). This meant that for years you could boot an IBM computer to cassette basic but not actually load or save any BASIC programs once you had done so.
You get a powerful, structured, and easy to learn language that is also pretty trivial to implement while also being capable of low-level assembly access if really needed and to even compile native binaries for much better performance than most BASIC ever dreamed of.