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.
I enabled "email on incomplete checkout" that in a shop I own, and the response was very mixed. Some people were seriously offended, that we sent out a very friendly worded reminder email, that they left something in their basket (and had gone part of the way through checkout).
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.