The C64 OS was actually pretty decent!
Save for one thing - the serial bus code - which had to be rushed by Robert Russell because some idiot cost-cutter in California took out the high-speed circuit tracks that the C64 was supposed to use for faster IEC devices (just like the C128, 1570, 1571 and 1581 drives). Russell had a week to fix the problem with code - just one week - and it did not help matters that the VIC-II chip in the C64 would steal cycles across the bus every time it started drawing a new line on the screen, which the old VIC graphics chip in the VIC-20 did not. But even that was later fixed by an enterprising outfit called CMD, and you can still buy JiffyDOS from Jim Brain Innovations - useful if you have an old C64 kicking about.
The OS did what it needed to, and thanks to Commodore's forward thinking, it was possible to code rudimentary UNIX shell-style programs that could fetch characters, write characters, open and close files, etc - thanks to the kernal [sp] jump table at $FF00-$FFF9 (excluding 'RRBY'). You could port such programs written on the PET or VIC-20, and they would work on the C64. C64 programs written in such a way were also forward-compatible with the C128 in its native mode.
Yes, the Commodore BASIC (actually re-badged Microsoft BASIC with a few tweaks) was truly dire, especially when compared to the masterpiece Sophie Wilson wrote for the BBC. But the cost of the extra ROM space required for something like BASIC v4 (which was used on the C16 and Plus/4) was not something that Jack Tramiel was willing to pay for. It was not an engineering decision - simply management. Jack got a lot of things right, but not everything.
I also grew up with the Acorn BBC Micro (and Master 128) at school, but compared to the C64, those were never computers of any relevance outside schools and other educational instututions. Why? Quite simply, it came down to cost. When I bought a C64 back in 1988, it cost me £150 - and it came with a lightgun, datasette and a few games and utilities. Most importantly, I could plug it straight into the television - I didn't need to buy a monitor, which would have been at least an extra £200 at the time.
The BBC did not come equipped as such, and the most basic tape model being sold by most mail-order outfits went for about £600 - four times the price - because you had to buy a monitor. 80-column mode is all very well, but you have to pay for it. If you wanted disk? Well, that would be £800, sir. By comparison, £300 could get you a disk-based C64 - and you could actually buy a serious collection of games for the C64 on both tape and disk. I know Superior Software produced quite a bit for the Beeb, but to be honest, next the the C64's graphics and sound capabilities, the Beeb was left seriously wanting. Even if you ignored sprites and sound on the C64, the simple fact that you were not restricted to a digital RGBCMYW+black palette on the C64 meant that you could start using colour quite seriously: The C64 used analogue colour, and so it was easy to provide a 16-colour palette.
Don't get me wrong, I'm a serious Acorn fan. I spent (mis-spent?) many, many evenings in front of the school's BBC Micro machines, hacking, until I got a C64 of my own. But even then, when the Archimedes machines arrived afterward, I spent plenty of time hacking on those as well - especially after the age of 16, which was when I was made system administrator of my school's brand-new Econet (gasp!) network of ten A3000s and a coupld of Acorn FileStores. But the C64 was arguably the best 8-bit machine that was ever made - not the BBC Micro. In a way, now, I'm really thankful that the C64's BASIC was so dire, because it pushed me to learn assembler far more quickly than I would ever have done if I had owned a BBC or Archimedes. Once you did that, and got to write code that fully utilised the available hardware (including fun stuff like raster interrupts for sprites and light pens/guns), it really taught you about hardware.