Custom fields are generally created to accommodate value coming in from different application (mainly through integration). However, nobody can be certain about when will get updated. So, if this field is already referred in reports, it will help if we can display a default value than a void / space / null value in reports.
Also if we can provide a facility to make custom fields 'Read Only' / 'uneditable' it will be more suitable to map different use cases.