Причиной этого является то, что .delay() будет только задерживать элементы в очереди анимации. Таким образом, вы можете сделать .show() короткую анимацию, добавив длительность "0" или добавить ее в очередь с помощью .queue().
Проблема с .delay() и .show() (без продолжительности), заключается в том, что .show() не является анимацией, это немедленно влияет на то, что не в очереди fx вообще. Вы могли бы, однако, дать ему продолжительность, например: