There are various circumstances in which an administrator might want to "delete" a record. Various techniques are available, depending on the task at hand.
In many circumstances, bad data is entered from an integrated system, via user error, or due to a typo. For some of these circumstances, it may make sense to leave the bad data in place, but flag it as duplicate, suspended, expired, etc. This approach leaves the full history of the record in tact and visible for future review. See Resolving Enrollment Issues, CO Person and Person Role Status, and Registry Validity Dates for more information.
Individual records can generally be deleted via a Delete button on the index view. This is slightly unintuitive, and will be improved in a future release (CO-647). The "index" view is typically the parent view that allows the selection of the individual record.
A CO Person can be deleted from the detailed CO Person view (or "canvas"). The CO Person cannot be deleted if they have any attached CO Person Roles, which must be deleted first (CO-484).
A CO Person can also be expunged, using the Expunge button from the CO Person canvas. This will delete the CO Person and all of its related records, including CO Person Roles and Organizational Identities. This is useful for clearing test records and other non-production errors.
Keep in mind that Changelog Behavior generally applies, even to delete and expunge operations. Even though deleted and expunged records will no longer appear in the user interface by default, they will remain in the underlying database, and can be viewed via the UI or REST API with appropriate requests. The only ways to remove these records from the database are to delete the entire CO (not typically recommended, except under limited test circumstances) or by manually removing the records via the database's toolset (also not typically recommended, as this can cause integrity problems if not done correctly).