I've learned that the same can be said for cheese. Now, to be sure, I am anything but an expert on cheese, so my views are based on somewhat limited tasting experiences. Nevertheless, I will still claim that every cheese has some redeeming quality. I can think of no better example than the lowly Cheez-Whiz, problematically called a cheese in the first place. It's Cheez-Whiz that makes the Philly Cheesesteak sandwich at Pat's in Philadelphia so famous (not to mention the movie Rocky).
At the same time, we cannot forget that some cheeses are better than others. Authentic Italian cheeses are always better than their counterparts from anywhere else. True Greek feta is better than its counterparts. The list goes on. My point in all this is simple. If a recipe calls for a specific cheese, substituting will inevitably reduce the quality of the end product.
Several of my recipes use Parmigiano-Reggiano cheese, a cheese produced in only one small part of the world – the Emilia-Romagna region in Italy. Sometimes called the King of Cheeses, Parmigiano-Reggiano cheese has no equal. For some reason that completely escapes me, many (maybe most) recipes that should call for Parmigiano-Reggiano cheese instead call for Parmesan cheese. Don't be misled. Parmesan cheese and Parmigiano-Reggiano cheese are not the same – not even close. There's nothing wrong with Parmesan cheese (remember there's no such thing as a bad cheese), but it is not a substitute for the real thing.
One of the reasons (I sincerely hope) that you are reading this is because you are interested in learning how to make the food you prepare taste better. One way to do that is to use authentic ingredients and avoid substitutions whenever possible.
There is one other cheese issue that I must mention – not to change any of your eating habits, but to make you aware of Italian tradition. Classically, Parmigiano-Reggiano is never served with a tomato sauce (even on pizza). Cheeses like pecorino Romano, caciocavallo, mozzarella, and ricotta salata are always used instead. Similarly, pecorino Romano is seldom, if ever, used in risottos, a specialty of central and northern Italy, where the King of Cheeses rules.
Oh, and then there is the one that causes the most trouble. In Italy, cheese of any kind is never served with fish or seafood. The fear is that the cheese will overpower the more delicate taste of the seafood. The internet abounds with tales of angry customers (usually non-Italians) demanding their cheese and being denied by very stubborn Italian restauranteurs. Being a stubborn Italian myself, and an equally stubborn restaurant patron, I can see the logic from both sides. I'll leave the final call to you.