The Domain Locking feature is essentially used to thwart unauthorized transfers of domain names. Many a times, the admin contact for domain names is set as domains[at]hostingprovider.com OR admin[at]hostingprovider.com OR is set as per the registrant's preference.
If the domain lock is enabled, then the registrar who wants the domain to be transferred to their account (gaining registrar) send an email to the current domain registrar (losing registrar). This email is mainly to seek the losing registrar's authorization to have the domain transferred out from their account.
Once the registrar authorization is received, then the actual process of "transfer" starts. This normally takes anything between 24 to 72 hours depending on the registrars involved in the exchange.
However on numerous occasions, the authorization email sent to the administrative contact of the domain name is not responded to OR is replied very late. As a result of which the actual transfer process is delayed in itself. This results into inordinate delays in the domain transfer from the losing registrar to the gaining registrar. In this process, customers sometimes rush to the gaining registrar (or hosting provider) & complain about delays. In such situations, the gaining party is absolutely helpless. They are awaiting authorization from the losing party, which has gotten delayed.
Since registrars are almost in different regions, the cache, ISP's DNS cache are all set to different TTL (time to live) values. Hence the confusion of domains resolving with different IP's or not resolving at all.
Hope this helps