JSF is crap because it is a steaming pile of shit, that came directly from satan's asshole.
crap reason    good reason    not sure
People also think JSF is crap because it:
is impossible to debug [crap good]
is a steaming pile of shit [crap good]
never displays any error messages [crap good]