One of my clients discovered some things were going missing from their dev's desks. They installed a camera and on the very first night they discovered one of the cleaning staff rummaging through the desks, which instantly raised the threat level from "petty theft" to damn near espionage. They were clever enough that even in the video it was hard to tell what actions were cleaning, and what actions were searching for things to pilfer.
Of course that person got fired. My client subsequently enacted the same type of policy you are asking about. The staff there know exactly what happened, so there is very good incentive to simply follow the policy - nothing that isn't outright owned by the company stays within the company after hours, and everything that is owned by the company has strict handling procedures.
Security happens in layers. If you leave an opening, someone will eventually exploit it.