Q:

Qual a necessidade de se utilizar o sufixo "f" em uma constante numérica em C?

É necessário adicionar f a um valor float dentro dos parâmetros de um if? 
Exemplo:
if (a == 2.5f && a > 2.0f) {}

A:

Nada tem a ver com if, é uma questão de escolher o literal que quer usar.
Se quer que o número seja um float então deve usar o f sempre. Se não usar e tiver ponto decimal ele será por padrão um double. Este tipo possui 64 bits e o float tem 32 bits. Então com o sufixo f ou F ele ocupará menos espaço na memória, e claro, terá menos precisão.
Se o número for inteiro, ou seja, não tenha um ponto no literal, aí ele não será double, e muito menos float, a não ser que use um f.
Em ambos não haverá exatidão, como já mostrado em pergunta anterior sua. Se for isso que deseja, não pode usar qualquer um deles. Precisa criar um mecanismo próprio, usar outra forma ou uma biblioteca que trate isso corretamente.

