I personally dislike forced login/register but I've seen it work for some businesses.
In particular, the strategy I've seen work was to put registration early (but not too early) in order to get a contact email address and to follow up with people that drop out of the sales flow. Often people just need a reminder.