Name based factory usage

There is little information to be found about using the name based factory features (as opposed to type based). As far as I know it is used by UVM to select the test.
What would be cases where as a user you would use the name based factory? Or is it best avoided?

In reply to NiLu:

I would avoid using string based operations wherever I can. They make everything more difficult to debug. With type based overriding you get a nice compile time error whenever a type name changes or you make a typo. With string based overriding you’re allowed the joy of debugging it at run time.

Tudor Timi is correct. Don’t use the name-based factory.