"To suck" or "you suck" is derived from, or is a shortened form of "to suck dick" or "you suck dick." In effect, it is the equivalent of saying "that's gay" or "you're gay." (You suck dick, so therefore, you must be gay.) This, in turn, comes from the assumption that homosexuality is "wrong" or "bad." Therefore, if something "sucks" it is "bad."

Isn't it strange how widely accepted the term is? Everytime you hear someone say "that sucks" on TV, they are essentially saying "that sucks dick."