The first point I see in this whole question is that, as much as we add references, the answers still have a tone of opinion (including, this is an opinion[using irony]). Usability is a more human area, which allows different understandings in several cases, not different, on this subject. However, let’s get to the point, to the question.
Going directly to my central point on the subject, different people expect different things from different systems(What did I mean by that!? ). Well, before we think, "am I going to hide the element? I will display the element and if the user interacts warning that he cannot perform that action? I will change the element design indicating that the functionality is 'forbidden' for it?" we have to think, "what does my target user want/expect from the system?". That is, an ERP user expects certain actions of the system while a user of video straming services expect totally different things of the system, whereas a user of a given social network expects even more different things when making use of the system. One "living" example of this is the OS, the OS community, if not all, the majority, is composed of people from the technological areas, such people expect different things from the OS than if they were users of more human areas. Still in the OS example, it uses Gamification to encourage users to ask and answer when we access the privileges, we see everything we can have if we achieve such a score, they are clearly making use of the second option quoted in the question, but they have a purpose behind it which is to urge the user to answer/ask to get to that score and, finally, be able to perform such actions, already in another area of the site, as the analysis queues, are only visible when the user "gains" permission to access that functionality and, again, using the 2nd option of the question, the OS disables what the user cannot do, even with the idea of "provoking" the user to, one day, reach that score and gain access to functionality.
The most direct answer to the question is depends on. Yes, in the question it is already understandable that there is a depends, after all it is asking
When and why to use each strategy? It makes a difference if the "ban" is (semi)permanent or if it is circumstantial?
But, as my approach is "impossible" to answer one of these questions without first thinking, "who is my user and what does he want/expect from the system?" (yes, I’m being redundant)
Lets the user use it and displays an error message indicating that he cannot do that?
No doubt, in every context, this is the worst option of all, it is giving the user the impression that he can do something that actually he cannot. It is undoubtedly a very bad experience. Imagine opening a jar of ice cream and finding beans inside?
prohibits its use and marks the 1object with some color that differentiates the "forbidden" state from it?
Again, "who is the user of my system?". For example, if he is a user of a corporate system and he is an "operator" there is no reason for him to see the button generate financial report, since such an item is of interest to some manager, now, as the example given above, if it is a user who, somehow, he can "reach" the permission to execute that functionality, is extremely valid the use of this option, because the user will be "provoked" to want to do that action, often it can be only by the fact of "I can", but what I see in these situations is the engagement caused.
completely hides the UI object.
Finally, if not the most commonly used option, one of them would be to hide the UI items. And again the question, "Who is my user?" , using the example of the user of a corporate system, will be that hiding the financial report button can not display items of more interest to this user, things that will make much more sense he see, instead of taking up space with something he can’t do and it’s not in his best interest? and in the case of the manager, there is need to see fields where data are "imputed", and who does this is the operator? in most cases the most interesting for the manager is to see very large graphs and numbers on the screen, or maybe in some cases it is not, therefore, "Who is my user and what he wants/expects from the system"
Thinking of something more "technical", I did a short heuristic analysis of the 3 options. For this I used the 10 heuristics of Nielsen:
Lets the user use it and displays an error message indicating that he cannot do that?
Feedback/Visibility of System Status:
Upshot: Neutral
Description: After the user tries to perform the action is returned error message, stating that he cannot do such action, ie there is feedback, however, there is failure because there is no visibility of the status of the system. A function is being displayed that the user cannot perform.
Freedom and user control
- Upshot: Negative
- Description:
The user is not given freedom, since the user is allowed to "initiate" an action that he cannot perform. In fact, user control over the system is being removed.
Flexibility and efficiency of use
Upshot: Negative
Description: The system has to be easy and intuitive, from the moment you have elements on the screen and when the user clicks he does not know whether or not the action is lost all efficiency, generates a doubt, "when I click on the element, what I want will or will not be executed?"
Aesthetics and minimalist design
prohibits its use and marks the 1object with some color that differentiates the "forbidden" state from it?
Feedback/Visibility of System Status:
Upshot: Positive
Description: Makes visible to the user what the current status, when changing the style of the element to a style that denotes "de-authorization" for that function, is given visibility of the status, as for the feedback, the ideal is to inform the user if one day he will be able to do such action and, if yes, what he needs to do to get.
Aesthetics and minimalist design
Upshot: Neutral
Description: Item "relative to the future", will the user be able to perform such action? if yes, there is an advantage to knowing about that element in the UI, if not, the element "steals" space from other items.
Flexibility and efficiency of use
Upshot: Neutral to positive
Description: It is necessary to identify the relevance of displaying an item that the user cannot interact with, if there is gain from it becomes positive and brings efficiency.
Freedom and user control
completely hides the UI object.
Flexibility and efficiency of use
Upshot: Positive
Description: It is possible to display items of greater user interest in the UI and items, which at that time, will add more value to tasks, if 1 day makes sense the user see a certain extra element in the UI then this one should be added.
Aesthetics and minimalist design
Freedom and user control
+1 - Especially 'Allowing interaction only to indicate (via text message or error) that the user could not have tried it is commonly exhausting and probably useless'
– OnoSendai