Custom fields carry many more features than you might think; they are much more than simple field definitions you find on other platforms. Having a good understanding of a custom field is the key to reducing the amount of code you have written and improving the user experience and reporting of your application's data.
Adding default values to your fields improves the usability of your application and can reduce the number of fields needed on the screen, as users can remove fields with acceptable defaults from the layouts.
Default values defined on custom fields apply in the native user interfaces and Visualforce UIs (providing the
apex:inputField component is used) and in some cases, through ...