Em ambos os casos usa-se uma propriedade de timing-function que regula a velocidade inicial, média e final das animações, que é baseada em cubic Bézier.
Cubic Bézier é uma curva no espaço bidimensional (para este caso) que depende de 4 pontos. No CSS, ele recebe 4 parâmetros, mas eles não são os 4 pontos! Eles são os pares (x,y) dos dois pontos do meio! O primeiro sempre é (0,0) e o último sempre é (1,1). Isso fica fácil de entender visualmente aqui.