Service accounts are meant for two different cases:
- Authorizing an app/process to authenticate & invoke services using its own identity. Think of services like prediction, cloud storage, etc. where the data is owned by the app.
- Impersonating users in a google apps domain where the domain admin can pre-authorize the app to act on behalf of users in their domain.
Impersonation works for Google Apps domains because the admins have a mechanism to authorize the app out of band for their users via the control panel. Of course they can only authorize the app to access the data for the accounts they managed. For individual users not part of an organization, apps need to use the normal OAuth flows to request authorization from each user.
I haven't tested it in a while, but last I checked it is possible to use Drive with a service account acting as itself. The only limitation I ran into was it wasn't possible to purchase additional quota and the app was limited to the initial 5gb free storage.