What I don't understand about their response is: why not make it configurable? Admittedly this is my philosophy for almost every product I work on - "make it maximally configurable, but make the defaults maximally sane" – but I'm baffled every time I hear someone talking about this 'dilemma'.
You just keep your simple interface, but allow the power users to, say, click through to a particular menu and change their setting – the setting in this case being ~"let me provide feedback / configure how recommendations work". For that kind of user, finding a 'cheat code' is actually a gratifying product experience anyway.
I think its because the complexity of allowing configurability isn't always worth it. Verifying it works for all configurations becomes exponentially harder.
I believe it can also have performance implications especially for things like recommender systems where you are depending a lot on caching, pre computation and training.
I agree, but as aleksiy123 suggests there is an additional complexity burden and it is a long journey to teach users to make use of a new technology. I think a lot of "advanced" features get de-prioritized as not many people use them and it seems like resources could be better spent helping the masses. I think that the importance of "advanced" features is often under rated by traditional engagement models. Wikipedia is a great example of where less than 1% of users click on the edit button, but that 1% adds all the value for the other 99%.
You just keep your simple interface, but allow the power users to, say, click through to a particular menu and change their setting – the setting in this case being ~"let me provide feedback / configure how recommendations work". For that kind of user, finding a 'cheat code' is actually a gratifying product experience anyway.