You can look at their contents to see their differences.
Service files are like RESTful endpoints that can be called to handle CRUD requests, whereas service controllers cannot. Historically, service files had to be manually written. Around Vinson (2016.2) we standardised them so that they could be automatically generated from service controller files. This means that rather than having to focus on writing boring CRUD code, developers just need to write how they want requests to be handled.