On SDE geodatabases, ArcGIS offers versioning. In a nutshell, versioning provides the ability to isolate a set of edits (such as the edits for one design, one job, or one day's worth of updates) in a "version." The version can later be "posted" to make its edits universally visible, or deleted if its edits should not be shared after all.
To the existing ArcGIS versioning framework, ArcFM adds Session Manager - a tool for organizing version creation and posting to match a company's editing lifecycle, including requiring stages for inspection, review, approval, etc. before posting is permitted. In Session Manager, each version is wrapped in its own "session" so that end-users run only session commands, not the underlying version commands.
While most session commands (e.g. Open Session) automatically run their respective underlying version commands (e.g. Switch Version and Start Editing), under some circumstances the Delete Session command may delete a session but not its underlying version. This is most common when a company's session lifecycle calls for the session to be deleted by someone other than the user who originally created it. If a large number of undeleted orphaned versions were allowed to build up, they could eventually slow the entire system to a crawl.
Fortunately, there is an easy way to avoid this problem. Whenever Delete Session is only able to delete a session, it marks the underlying version as an orphan. An administrator can easily remove all orphaned versions by running the ArcFM Orphaned Versions Cleanup tool as the superuser (SDE). ArcFM Orphaned Versions Cleanup will only delete versions that are marked as orphans. It has no impact on versions that were created directly (without a session wrapper), and does not affect versions that have an existing session.
For the greatest efficiency, run the ArcFM Orphaned Versions Cleanup tool prior to compressing the geodatabase. The tool is available in ArCatalog from the ArcFM Solution toolbar or the geodatabase connection right-click context menu.