"Iff" - if and only if ($\Leftrightarrow$ or $\leftrightarrow$, although the first usually carries a "meta" meaning, something that is not evaluated) - is used in $2x=3\Leftrightarrow x=\frac32$, because both $2x=3$ and $x=\frac32$ are boolean expressions. When talking about the members of the equations equivalences, and not the members of the equations themselves, this makes no sense, because as in $2x=3$, neither member (not $2x$ nor $3$) is a predicate. In other words, if you say «$2+2=4$», I'd say «OK», but saying the $2+2$ itself is meaningless, as the result is neither void (as in a command or question) nor boolean (as a usual affirmative or informative sentence).
In this sense, equivalence (iff) between predicates is the same as equality. But why have another symbol like $\leftrightarrow$, why can't equations' equivalences be written as $(2x=3)=\left(x=\frac32\right)$? Is it that for any two predicates $p$ and $q$ relying respectively on tuples (or ordered multisets or whatever you want to call them) of variables $P$ and $Q$, $(p(P)\leftrightarrow q(Q))\Leftrightarrow(p(P)= q(Q))$?
Also, why does $\LaTeX$ distinguish between
\Leftrightarrow (resulting in $\Leftrightarrow$) and
\iff (resulting in a longer arrow $\iff$)? Surely the people who made it thought there should be a reason in Mathematics why these symbols seeming to carry the same meaning would be separate glyphs.
What kind of conventions are there regarding "iff" and equality? Where can these be considered the same concept? What are, fundamentally, the differences between them?