There are a number of reasons to hide a menu item, prevent display of a module, or prevent a user from reaching a component. There are some general configurations that will be covered first, and some specific configurations at the end of the document. More will be added as they arise and/or are reported by users.
Non-Functional without Cookies
Hiding modules that will not function without cookies is important for user experience, and the best example is the Login module. When cookies are blocked, users cannot log in. So, in this case, it's not that the Login module sets a cookie - but that it requires a cookie (the session cookie). If we hide it until users accept cookies, user experience is restored. If you must, you could place a message somewhere informing users that to log in, they must accept cookies.
The configuration for this scenario is very simple. Go to Extensions > Modules - search for your Login module and open it to edit. The only configuration you need to change is the "Access" setting - change it to the User Group we created earlier - "Cookies" if you followed the instruction faithfully.
Modules are not the only possible item that won't function without cookies, but the configuration is the same. If it's a component, go to the menu item that leads to that component and set its Access to "Cookies". Plugins are the same, find the plugin in the Plugin Manager and set its Access to "Cookies".
Preventing 3rd Party Cookies
On this site, System - HeadTag is used to add Adsense and Analytics scripts. The specific configurations are for 2 scripts and 2 script declarations. Each is configured to load on specific access levels "Cookies" and "Registered". So Analytics and Adsense only load for users who have accepted cookies and users who are logged in (which they must accept cookies to do).
The configuration for plugins that handle Adsense and Analytics is similar to the Module configuration on a previous page. Edit the plugin configuration and set its Access level to "Cookies".
Google does a lot of things to ensure the ubuquity of their cookies. This is apparent when you look at the cookies set by Google Analytics. For maximum coverage of your web properties, they use a wildcard domain when setting their cookies. It's your domain, but it may not be the domain you're using for your normal site cookies.
Google Adsense is an example of a cookie that can be prevented, but once it's set there is no way for EU e-Privacy Directive to remove it because of the Same Origin Policy. This is what you will see if you're using Adsense. These cookies will remain after a user has chosen to remove cookies. This is OK though. As long as you prevent them from loading initially, when the user accepts cookies - it's Google who is placing these additional cookies on their computer.
This is what it looks like. Don't lose your mind trying to find a way to remove them.