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".