Of course you still have complexity as you have the bucket owner, object owner and requester which might be 3 different entities, but still mentally easier to grasp than policies with dozens of options you need to read documentation for to understand what they are for and what the consequences of using them are.
Does it cost anything to not use features you do not need?
Last time I checked, all the so-called niche features were stashed in hierarchical option lists, outside of the happy path. You need to purposely want to dig into, say, file access, bucket access metrics, storage strategies, object versioning, etc to actually get to them.
It costs time whenever some coworker asks for something impossible, and says something like "Have you really checked all the options?"
Why do you have team members toggling settings at random at will?
If that's a real problem with your organization, you have far more pressing problems than the number of options offered by a service you consume.
I guess you'd be the type with unrealistic demands.
So, to be fair, yes it costs to not use features you do not need in this case.
You literally pay by the hour to use S3, and you also pay the hours you spend trying to understand the permissions and modify settings, so it literally costs to not use the features you do not need in this case. I'm trying to make an argument, I'm not saying you pay much, but I answered your question, and you do pay, either by time, or money.
Not really. In order to set bucket request metrics not only you need to explicitly set your bucket to be open to the world but you also need to dig down the options to explicitly enable them along with a metrics filter of what objects you cover.
Object versioning is disabled by default and you need to go way out of your way to enable them at a specific level.
You also need to go way out of your way to set another object storage class.
None of these features are enabled by default. You need to turn them on and configure to start using them.
AWS went from "just push a couple of buttons and you are running in the cloud without a dedicated sys admin" to "you are going to have to hire a team of cloud admins because no one understands all the options and costs anymore".
Compare AWS to DigitalOcean, for example - the difference in simplicity is mind-blowing.
The latter will really get your customers torqued, the former is going to make some customers not get exactly what they want.
Maybe in the early days this would have made sense, but the cloud vendor lock in is so strong that I seriously doubt most customers even have the leverage. "Add this feature or we are walking to Linode"?
I don't think so. It just seems like a broken product design culture, where the managers need to add features non-stop, so they can make some slides and get their raises. Big company problems, to be sure, but still disfunctional.