Agregando un poco más de información:
jQuery implementa "encadenamiento de métodos", lo que significa que puede encadenar llamadas de método en el mismo elemento. En el primer caso:
$("#mycontent").append(html).fadeIn(999);
estaría aplicando la fadeInllamada al objeto que es el objetivo de la cadena de métodos, en este caso #mycontent. No es lo que quieres.
En la respuesta (genial) de @ icktoofay tienes:
$(html).hide().appendTo("#mycontent").fadeIn(1000);
Esto básicamente significa, crear html, configurarlo como oculto por defecto, agregarlo #mycontenty luego desvanecerlo. El objetivo de la cadena de métodos ahora es en hmtllugar de #mycontent.