Consider the archetypal replicator command: "Tea. Earl Grey. Hot." Captain Picard never orders anything else from the replicator, yet either there's no way for him to get the replicator to know that when he wants tea he wants hot Earl Grey; or there is such a way, he can't figure out how to set it up, and he's too proud to ask anyone for help.
What's more, the captain's utterance implies that if he just asked for "Tea. Earl Grey.", either the replicator would give him iced Earl Grey or the ship's computer would ask "At what temperature do you want the Earl Grey?" like a text adventure parser. How come they had time to do a molecular scan of a cup of Earl Grey but not time to put into the 24th-century equivalent of Cyc that Earl Grey is the sort of tea you drink hot?
This is not rocket science; it's the sort of thing that contemporary programmers use as fanciful examples in their EuroPython talks. "Let's take a hypothetical Person, Jean-Luc. Jean-Luc likes Tea, so he sets that as his default Drink, but there are many different kinds of Tea, so he can set a default for Tea as well..." It wouldn't be hard to do the interface either; after you got your elaborately specified tea you could say "Bookmark. Tea." and thereafter it would just be "Tea." Except for the inevitable wacky malfunction, where the attempt to bookmark tea would give you a tea-colored bookmark, you would be fine.
Next time: I tackle the question of what happened to all the industrial designers between Enterprise and TOS. Thu Jun 19 2003 17:56 "Tea.":
I don't know why in years of fanboyhood I never thought of this before. It must have been the Nightmare that finally made me realize how awful is the interface to the replicators in the TNG-timeframe Star Trek shows.