Sometimes, you may need to hide a specific menu item or module for your registered and logged in members , but at the same time, show it to the public users, who are not logged in.

Joomla brings the capability for that.
Okay, here is how to get this done,

1. Create a new group in Users > Groups. Name it GUESTS. Select Parent Group as PUBLIC.

2. Goto Users > User manager > Options > Component tab. Select GUESTs as the “Guest User Group” there.

3. Create a new ACL in Users > Acces Levels . Name it as GUEST USERS.

4. Edit GUESTS USERS ACL, which you just created and select GUESTS group to it. Dont add PUBLIC group to it.

5. Edit PUBLIC ACL and add GUEST USERS ACL to it.

6. Now you are done with the group and access level creation. Now goto Global Configuration and select DEFAULT ACCESS LEVEL as GUEST USERS.

7. Now, you are ready to go. Make any menu item or module to test. Just select , Access as GUEST USER in that item and test on frontend. You can see that menu item/module when you are not logged in. And as soon as you login, that menu item/module will be hidden.

Note: Using this concept of user access level in Joomla. You can do this also to assign specific menu item or module for your specific registered user.