Even with tapes, the user did a fair amount of the work: pushing buttons to read, record, or rewind. Many personal computers used standard cassette recorders, effectively a fire hose of data, so the file size was limited by the computer's memory. If they had anything remotely resembling a filesystem, it was an identifier the computer could look for as it marched forward, and only forward, through the tape. Commodores could start and stop the drive's motor, so maybe they could handle larger files. Yet (if I recall correctly) they too could only march forever forward, without the user hitting the rewind button while monitoring the counter, so you didn't have the utility of random access files.
It's hard to fathom today just how slow the cassette recorders were. You would routinely spend 15 minutes trying to load Temple of Apshai just to have it stall while you sat there for another 10 minutes hoping it didn't actually crash (until you reloaded it).
Indeed, a lot of 8-bit computer audio cassette recording rates were as low as 300 baud. I remember feeling spoiled that my Radio Shack Color Computer (based on the Motorola 6809) was 1500 baud. Also, depending on the quality of your audio cassette recorder and tape media, errors could occur. If something was really important, you saved it twice in a row and once again on another cassette tape.
Since tapes were relatively expensive (at least to us teenagers) we bought longer tapes since it worked out to be cheaper per minute. We then tried to maximize each cassette by recording a bunch of programs on each. Unfortunately, the only way to know where anything was on a tape was by zeroing the mechanical counter on the cassette recorder and scribbling the counter numbers down. Of course, these counters were only tied to the motor run time and thus quite inaccurate and, at best, fast forward and rewind could only get you in the approximate ballpark of a program's location. If we lost our scribbled tape counter notes, the only alternative was to play the tape at 1x and wait for the named program segment to be seen by the computer (on tapes up to an hour per side).
I also recall someone made a hack that patched the Coco ROM to enable 3000 baud recording and reading, however this did make read errors somewhat more likely.
What we put up with was amazing!