Точнее - transition не работает с дискретными свойствами. Еще точнее - работает со всеми, но ввиду дискретности некоторых свойств, они изменяются между своими допустимыми значениями. Тот же display: block переключается в none сразу, потому что не существует промежуточных значений. Интересно, что z-index будет постепенно переключать свое значение, но только с шагом в единицу, и визуально он в один момент вылетит из-под другого блока или наоборот.
Короче говоря переходы могут применяться к числовым значения и к цвету, тут их эффект будет заметен.