Old English ful "rotten, unclean, vile, corrupt, offensive to the senses," from Proto-Germanic *fulaz (source also of Old Saxon and Old Frisian ful, Middle Dutch voul, Dutch vuil, Old High German fül, German faul, Gothic füls), from PIE *pu- (2) "to rot, decay," perhaps from the sound made in reaction to smelling something bad (see pus).
Old English ful occasionally meant "ugly" (as contrasted with fæger (adj.), modern fair (adj.)), and this sense became frequent in Middle English. The cognate in Swedish is the usual word for "ugly." Of weather from mid-14c. In the sporting sense of "irregular, unfair, contrary to established rule or practice" it is first attested 1797, though foul play is recorded from mid-15c. Baseball sense of "out of play" attested by 1860.