You mean LOAD"$",8 to get a directory. Yes, maybe it is cumbersome to use and even worse to remove files, OPEN1,8,15 : PRINT#1,"S:FILE" : CLOSE1. Newer Basics like 3.5 and upwards had DIRECTORY and SCRATCH, and since the Commodore machines doesn't boot into a shell like many others, the Basic is somehow the DOS frontend.
I don't know how much of a DIR or DEL command has to worked out by the computer on other systems, but in this case I suppose it was enough to send away a few bytes and wait for the data to come back.
I believe there is a copy/backup command in Commodore DOS, but it only works for rare dual drives (i.e. two units on the same device). To copy between two different drives or even to another disk in the same unit, you need a copy program that loads into memory and then saves to disk. Remember that for the advanced commands, the frontend in Basic only forwards the strings you give directly to the drive.
You could have the same argument about missing commands to handle graphics and sound, which is even worse as most of those functions have to be handled by lots of POKEs into the memory. I would gladly have accepted the OPEN-PRINT#-CLOSE idea:
10 OPEN2,grd,1
RINT#2,"C" : REM open graphics device in 320x200
15 OPEN3,spd,0
RINT#3,"D:128": REM open sprite device for sprite #0 pointing to sprite at $2000
17 PRINT #3,"X:1" : REM expand sprite in X direction
20 PRINT#2,"L:0,0,319,199" : REM draw line from top to bottom
22 FOR X=0 TO 319 : Y=100+100*SIN(X*1.125)
25 PRINT#3,"P:";X;",";Y : NEXT X : REM position sprite at X,Y
30 CLOSE 3 : CLOSE 2
Now when I think about it, maybe a different Kernel ROM plus a Basic extention ROM could generate something like that, but on the other hand it is easier and more natural to add totally new Basic commands than extend the existing ones.