the alternative would be complete files, but that would lead to disaster with deleting and reusing filespace.

With blocks it is relative easy deleting and reusing filespace. Also a file can grow in size without the need of moving it completely. Addressing is also relative simple because of the static size of a block within a virtualfile system. With complete files you dont have that advantage.

The only drawback is waste of space with file smaller then the blocksize and defragmentation.

E.g. also real filesystems like fat en ntfs use blocks.

But if you have another alternative besides using block do let me know.