Olá Daniel,
Antes de mais nada, desculpe a demora na resposta. Estamos em um esforço para reduzir as dúvidas do fórum.
Nesse caso o critério foi apenas o índice. Isso porque os dados que estamos trabalhando tem exatamente os mesmos índices. Repare que nesse trecho de código tento adicionar os valores 5 e 6 nas linhas 1 e 2 do dataframe. Porém, o dataframe tem apenas as linhas 0 e 1. Nesse caso é adicionado o valor NaN na linha zero e o valor 5 na linha 1. Não é criada uma nova linha.
df.insert(0, "col0", pd.Series([5, 6], index=[1, 2]))
df
col0 col1 col1 newcol col2
0 NaN 100 1 99 3
1 5.0 100 2 99 4