En una discusión, ¿por qué es aceptable desacreditar a una fuente pero no al oponente a través de un ad hominem?

No lo es. Ad Hominem es el mismo independientemente de si estás apuntando a tu oponente o una fuente.

El problema con Ad Hominem es que intenta refutar un argumento desacreditando a la persona, no refutando el argumento. Como tal, la falacia es la misma sin importar si usted está llamando a su oponente un idiota o si está llamando a una fuente que está citando a un idiota.

Si desacreditas una fuente, profundizas tu argumento.

Si realizas ataques ad hominem, el argumento es esencialmente terminado, perdiste y te ves como un gilipollas.

Es una forma pobre.