When should I create a service or a utility function?
Ken Rickard from Slack Drupal #contribute channel says: "I would
  create a service if you expect other modules (or other developers) to
  interact with that code. Utility methods are just private shortcuts
  for yourself."


Yes, a cool thing about services is that anyone can overwrite them. So if you want to give other people the ability to customise a particular piece of code. 
See Altering existing services, providing dynamic services.

In addition, you should make it a service if you need to do Mock test for PHP Unit testing. See Services and dependency injection in Drupal 8, see Unit testing more complicated Drupal classes.

Q &amp; A:

Service unit test

Writing unit tests for a method that calls static methods from another class