There seem to be plenty of answers to the question of WHAT fuzzy logic is, and HOW it works. There are several good primers that provide a good introduction to those questions.
I want to know WHEN I should use it, and WHY. What will I gain from it?
Some say shorter and more simplified development time. But that is a rather, um, vague answer.
There are many devices which [regretably?] can only be turned on or off. Examples are an electric water heater, electric stove, and an air conditioner. I do not understand how fuzzy logic can do anything but complicate these matters.
One explanation was that if you set your AC on say, 75F, you don't want the AC to oscillate on and off as the temp goes below and above that point. But that's not how thermistats work anyway. Either they have a trigger point and a setting for how long the AC stays on, or they have two trigger points, one for turning it on, the other for turning it off. Either way, you've basically defined "too cold" and "too hot". Okay, so now we use fuzzy logic, and we start by defining how cold and how hot each degree is. Then we fuzzify everything, apply rules, and then defuzzify it. In the end, we still have one basic binary decision: either we turn the AC on, or we turn it off. There can be no added "smoothness". It's just on or off. I don't get it.
Okay, so what about situations where the output is not binary? When I ask this question, people start telling me about a robot that's balancing a yardstick (or meterstick) on it's hand. Well, that's a real neat thing, and if I ever have to write one of those, I'll think about it. But I really don't understand why a polynomial wouldn't work as well.
I'm trying to keep an open mind about this whole fuzzy thing, but I just can't imagine a situation where I could benefit from it. I'm willing to assume that the problem is my ignorance… So, enlighten me!