The answer can be reasonably summed up as
- Multi-valued logics add complexity.
- Multi-valued logics are avoidable.
- Two-valued logic is what you want in most contexts where you would use logic.
Let's take for example fuzzy logic. This is a logic meant to handle predicates such as "Violets are blue." Are violets really blue? Well, they are bluish, but most people would say their color is violet instead of blue. Still, "violets are blue" seems to be more true than "violets are orange". Fuzzy logic deals with this situation by saying that propositions are not simply true or false, but can have a range of truthfulness from 0 (utterly false) to 1 (utterly true). 0.5 is a half-truth.
This ability to handle imprecise statements may sound useful, but in the contexts in which logic is most often used (such as mathematics, and analytical philosophy) logic is used specifically for its precision. What would be the use of a logic of imprecision?
Of course, two-valued logic is contained in fuzzy logic, so you could use fuzzy logic and just stick to propositions with a value of 0 or 1, but what would be the point? Fuzzy logic is more complex. That would be like using complex numbers where you only need real numbers, or using real numbers where you only need natural numbers.
In a context like this, you wouldn't generally be satisfied to say something that is mostly true (like "violets are blue"), instead you would work to make the statement more precise by, for example, inventing a new color name such as "violet". Perhaps you would construct a detailed color chart and number each panel in it so you could say, "violets are categorized as color 147". There aren't many contexts where you want to use formal logic and are willing to put up with vague, imprecise statements.
Now, there are some such contexts. That is, there are applications where you want to use logic and you really need to handle fuzzy propositions like "violets are blue" (such as when analyzing natural-language sentences); however, even here, fuzzy logic is avoidable by a mechanism that has been around for centuries: a function. Instead of saying that "Violets are blue" is a proposition with a fuzzy truth value of 0.7, for example, you would say "Violates have a blueness rating of 0.7. Using a function like the blueness rating, you can do anything that you could do with fuzzy logic, and you don't have to explain fuzzy logic to your readers.
The other well-known application of multi-value logics is to deal with sentences like the Liar: "this sentence is false". There is no way to treat the Liar as a legitimate proposition in two-valued logic. In two-valued logic, every proposition must be either true or false, but if the Liar is true, then it is false, and if it is false, then it is true. Three-valued logic deals with this by saying that a proposition can be true, false, or null. They also have to construct truth tables to deal with null truth values, and these truth table generally violate the usual rules of the propositional calculus. For example, you can no long say that T&x=F whenever x=F, because x could be N (null).
You can't rewrite the Liar using a function like you can rewrite "violets are blue" (not without ascending to a meta language), so multi-valued logic is not avoidable if you want to treat the Liar as a proposition, but what you can do is say that the Liar is not a proposition at all. That is, you simply exclude from your logic any mechanism for expressing the Liar. Most logics have no mechanism for referring to propositions of the logic from within the logic, so this is no problem.
Similar comments apply to other multi-valued logics. There just aren't many contexts where you need them, and when you do, they are usually avoidable by using another mechanism, so they remain obscure, which is another reason to try to avoid using them.