The reason why records don't get deleted is because you would have to rebuild the database everytime you wanted to delete a record. This is a performance hit if you have to rebuild everytime. It's much easier to append and mark as deleted esp. if you have variable width fields. You can kind of think of it as your harddrive. You have to defragment the drive every so often to reduce space waste and optimize data reads. The same is true for databases. Image if your computer had to defrag everytime you deleted a file.