It might help to think of defaults and derived values as two versions of essentially the same thing. Both calculate a value. However, the default will cause that value to be stored in a field in the record (or in a work field) whereas the derived value will calculate the value, use it (in a screen or report) and then discard it. Derived values are therefore calculated every time they are referenced; defaults - on the other hand - are calculated, the result inserted into the record, and then the calculation is ignored thereafter (except for mandatory defaults, which are different and are explored in more detail in the Connect! course SB-01004: Using SB+ Field Defaults).
It should also be noted that defaults only apply to SB+ screens and selection processes, whereas derived values apply to the query and reporting tools as well.