A domain lock/registrar transfer lock is a status that indicates whether or not a domain name can be moved from one registrar to another. When a domain name has it’s status set to “Locked” it can not be transferred to another registrar. Only when the domain’s status is “Unlocked” can a transfer request be put in to transfer the domain to another registrar.
Lock it before or after?
To protect your domain name from being hijacked you should set the status to “Lock” after registering your domain or after you have moved it into your account. You should not have it in any other status unless you plan to sell or transfer the domain to another registrar.
If you plan to sell or transfer the domain name to another registrar then you may set the domain’s status to “Unlocked”. After you set your domain into this status that you can receive transfer requests. If you initiate a transfer request while your domain’s status is still set to “Lock” then the transfer request will fail.
Will it prevent my domain name from being stolen?
After the domain lock status has been set to “Locked” no transfer requests will be allowed. If someone were to somehow compromise your account and set the status to “Unlock” then they can steal your domain name. Unless your domain registrar has a major security issue. After a domain name has been set to a “Locked” status then it will protect your domain name from any unauthorized transfer attempts.
If the account that manages your domain name has it’s password stolen or is somehow compromised then your domain can be stolen.