Both ImpliedElementProperty and ElementProperty hold a child model element. The difference is that in the implied case, the child element is always there. It cannot be created or deleted.
Use ImpliedElementProperty if the child element's purpose is to organize related properties and no semantic meaning is attached to its existence/absence. Use ElementProperty if there is semantic meaning in child element's existence/absence.
When ImpliedElementProperty is used in UI, there is no visible indication of its presence to the user. When ElementProperty is used in UI, the user will be presented with controls to create/delete the element. Also, ElementProperty can be heterogeneous, so creation UI will allow the user to select the type of the child element to create.
See Address and Assistant properties in the contacts sample. In that sample, the assumption is that everyone has an address, so Address is an ImpliedElementProperty. Since not everyone has an assistant, Assistant is an ElementProperty. Play around with this sample and you should get pretty good idea of how the two types of element properties differ.