Duplication should be the very last resort, because it makes you responsible for maintaining all the code you've duplicated. For example, if Microsoft fixes a bug in the standard entity, you either must identify the situation and copy the bugfix, or you "copy" will stop being a copy and the bug won't be fixed for you (your customers).
In some cases, you even can't duplicate all the code, because it users internal classes and method that you can't used in your model.
Also, extensions of the standard entity (typically added by ISVs) wouldn't apply to your copy, so you either need to identify and duplicate the extensions as well (and becoming responsible for maintaining them too), or your entity will lack logic of the standard one added by extensions.
A much better idea is creating a new entity which uses the standard entity as a data source.