While I can certainly understand why you want to understand the difficulties and opportunities with each approach, I think you may be operating under the false assumption that soft or hard registration policies affect UX the same way for all sites. Unfortunately, this isn't the case.
When designing a successful login sequence, it's more important to follow several accepted registration best practices. These tenants are well-outlined by Bruce Tognazzini, the third partner of the framed Nielsen-Norman Group, in his article How to Achieve Painless Registration. While the article itself is 8 years old, the basic tenants of his arguments still hold true today.
Eliminate registration unless there's a compelling reason
The first question I'd ask is whether there is really a compelling reason to add in registration to your system in the first place. Adding features should always be an evidence-backed proposition, as it's easy to ruin a useful app with unwanted features that are counter to what users want or how the site is actually used.
What evidence do you have to support adding registration? It sounds like you may have internal stakeholders pushing for registration, but have you asked users their feelings about it?
If you haven't done any research on the topic, it's time to reach out to your userbase for feedback. Spend some time getting in-touch with frequent users, either in-person or through a well-crafted web survey, to get their thoughts about registration in general and what additional features would be available along with registration in particular.
Reduce registration to an absolute minimum
Regardless of whether you ask for registration at the beginning or end of the process, it's important to only ask for the bare minimum amount of information you need to make your site work. Some sites can get away with an email or username and password, while others may need significantly more. The more questions you ask, the less likely your registration attempt is to be successful.
You can help eliminate questions by inferring information from data already entered. For instance, it's possible to infer city and state from a postal code entry, so why ask for all three?
If you're already asking for other information from the user during regular site usage, pre-populate that information into your registration form.
Develop an irresistable "value proposition"
Make the value of registering real and apparent to the customer. Tognazzini explains what this means better than I can:
[At some sites,] the customer immediately launch into filling out the checkout form, at the end of which the site offers the user the chance to register by just selecting a password.
Most sites that operate like [this] offer the vague promise of "if you ever want to buy anything else from this lovely site you never heard of until ten minutes ago, we'll make it easy if you'll only give us a password." [Better designed sites with a similar pattern], however, [understand] that such promises of "pie in the sky by and by" is not that compelling, so they offer something immediate: "Give us a password and, in addition to your next order being a snap, you'll be able to use tracking to follow this shipment all the way to your door."
Use Staged Obligation when necessary
Staged obligation is providing the illusion of a quick and easy registration process by asking for required information in chunks. For instance, you may ask users initially for email and password only, then for four more pieces of information on the next page, and then six more pieces on the final page (while explaining clearly that these are the the absolute last pieces of information you need to complete registration). Your largest initial hit to conversion will be on the first step, and while you may have drop offs at steps two and three, the overall effect is far fewer abandonments than by asking for all information upfront.
It should be noticed that this strategy is best used only when a longer registrations process is an absolute necessity. Again, we should only be asking for the information we absolutely need to function.