A diferença está puramente no valor máximo que pode ser armazenado (18.446.744.073.709.551.615 para o bigint(20) e 4.294.967.295 para o int(10), acredito), conforme os detalhes no MySQL Tipos Numéricos página do manual.
Aliás, o uso de (20) e (10) é amplamente irrelevante, a menos que você esteja usando ZEROFILL. (ou seja:Na verdade, ele não altera o tamanho do número armazenado - tudo depende do tipo.)
No entanto, em termos práticos, deve-se notar que você provavelmente não atingirá nenhum desses limites tão cedo, a menos que seja realmente blogueiro ativo.