In terms of explicit versus implicit use of cryptography, most of the time it is the latter that is most widely used on the internet (i.e. when sending an email or making an https connection, it all happens in the background through trusted software) but the choice of which to use should depend on the degree of trust in an implicit process, for example.
- Regarding the part of the question about the need to encrypt prior
to uploading to a service that will encrypt the data anyway, I
think that also depends on the level of trust and level of security
For example: some services don't have access to encrypted data as the encryption takes place client-side, where only the resulting cipher-text is held on the server, however, most of the time this requires a trusted setup where you are trusting the service provider's web interface or desktop software to allow the local client-side encryption to take place.
If a user didn't completely trust this process another option would be to encrypt their data themselves explicitly beforehand, and then import/upload as-is with no subsequent encryption by the service (if that option is available), or the service would encrypt the already encrypted ciphertext anyway (obviously with a different key) so that even if that service was compromised and that ciphertext would be decrypted, it would only decrypt to the initial ciphertext, and not the underlying plain-text (unencrypted data). This would be a form of double-encryption.