https://forums.oracle.com/thread/540986?start=0&tstart=0
Discussions in this post explain the concepts of sid and service well.
Here're some important notes:
1. With Oracle Resource Manager, it becomes interesting to associate a program, user, session or application with a service. It is then possible to manage the resource utilitization on a per-service basis.
2. In RAC, service is key to failover. Instead of connecting to a specific instance, you're connected to a surviving and/or idle instance.