To my understanding, the main difference is that a service account doesn't require a user to log in for authorization, while an installed application does.
I am making an Android app (an "installed application"?) that offers an in-app subscription, and doesn't require the user to log in to an account (a "service account"?). All that I want to do is to check whether or not the user has purchased a subscription. To get a Client ID for the Google Play Developer API, I have to declare it as either an installed application or a service account, and am unsure which to go with.