I once thought I need different primary menus for different viewers. In best case those users have a GET paramter which decides which menu has to be shown.
For Example: You go into WordPress and add a menu with a name of your choice. I choosed “music”. Now if you want somebody view the music menu you have the parameter http://www.example.com/?view=music. You can do this with every menu you have.
In case you leave it empty nothing happen at all.
This plugin is available for download to be used on your WordPress self-hosted installation.