How does this whole domain transfer process work? Well, it can seem complicated, but in it's simplest form, you just need these three things.
1) The domain needs to be 'unlocked' at the current registrar.
2) You need the EPP Transfer Key if applicable for the TLD in question.
3) You need to read and respond to the confirmation emails that will be sent to the admin contacts.
That is that in it's simplest form. These steps need to be done, and if they are not done properly, the registry won't transfer the domain. That means that if any of these three things aren't competed correctly, then the Registry itself will refuse to transfer the domain.
So this means:
1) If the domain is locked (TransferProhibited) then the transfer process will fail.
2) If you haven't retrieved the EPP transfer key, then the transfer process will fail.
3) If you don't read & respond to the confirmation email sent to the admin contact, then the transfer will fail.
There are also sometimes some other transfer restriction that the registry has - for example, you also may not be able to transfer a domain too close to the initial registration date, or too close to a renewal data, or if it's just been transferred a few days ago - so make sure you leave yourself plenty of time and get the transfers completed at least a few weeks before the domain is coming up for renewal or expiry. As well, it is important to know that the transfer process actually will include a year's renewal anyway, so you can transfer at any time without losing any registration time at all.
If you do have all your ducks in a row, then the transfer process should take anywhere from just a few hours to as much as 5 days to complete on average.