People are not telling you to turn it off permanently they are trying to diagnose your problem. Just like your doctor asking you to take off your shirt doesn't mean he thinks you should always walk around without a shirt on.
I don’t want that to be the permanent solution though. I did, actually, find a solution which worked for me last night.
There are clues in this thread to do with duplicate aliases being the cause. I checked all the menus to see if there were any - and there weren’t.
So I looked in the database to see if there are any clue there. In the _menu table is a list of all the menus, menu items and, crucially, their aliases. Doing a sort on the aliases showed that there were indeed duplicates. There is a table - “mainmenu” (which is the current one) and another table “Main Menu Home” which does not exist in the menu list for the site. It’s not in the Trash for menus either. It appears to be something that had hung over from an experiment which had been deleted from the site, but had not been properly deleted from the database. This menu contains duplicate aliases. When I edited the database to change those aliases, the menus started behaving properly.
So menus work as expected now. I added the information about this menu into the table _menu_types (it was not in the list, so it was not being “seen” by the back end), and used the Joomla back end to delete them again. This time it’s been expunged from the database, so hopefully that’s the end of it.
And, yes, backups were take prior to this operation!
In summary, the menu entry in the _menu_types table had been removed. However, the associated menu items in the _menu table had not. As these were alias types, some of which duplicated the menu being used on the site, they were causing a conflict.
Hope this information is useful to others. It had not occurred to me until last night that there may be residual stuff in the database which could be the cause.