When should I use the Url::fromRoute method instead of "new Url" I'm finding that these two PHP snippets yield the same result:

$arr['query']['confirm'] = 'y';
$text = t('Click here.');
$url = new Url('my_route.import', [], $arr); // Three arguments.
$link = Link::fromTextAndUrl($text, $url)-&gt;toString();


and

$arr['confirm'] = 'y'; // No "query" key.
$text = t('Click here.');
$url = Url::fromRoute('my_route.import', $arr); // Two arguments.
$link = Link::fromTextAndUrl($text, $url)-&gt;toString();


Is there any reason to prefer one approach over the other?  Which is the more typical approach?  Is there some general PHP rule of thumb that might apply, such as... always use a method on the class instead of instantiating an object with "new" whenever possible?
From the documentation for the Url class:


  In most cases, use Url::fromRoute() or Url::fromUri() rather than
  constructing Url objects directly in order to avoid ambiguity and make
  your code more self-documenting.


So, generating a new Url object from a static method is preferred.