Опция стратификации делает так, чтобы распределение классов, представленных в полных данных, было сохранено в выборке. Тот факт, что в вашем примере это не имело значения (поскольку возвращалось одинаковое количество единиц и нулей), было просто совпадением. Вы можете увидеть, что это не всегда так, изменив random_state и заметив, что отношение 1 к 0 не всегда остается неизменным для не стратифицированных выборок, тогда как для стратифицированных это всегда следует за вашими входными данными (4/5 1):
In [1]: import numpy
...: from sklearn.utils import resample
In [2]: y = [0, 0, 1, 1, 1, 1, 1, 1, 1]
In [3]: resample(y, n_samples=5, replace=False, random_state=10)
Out[3]: [1, 1, 1, 1, 1]
In [4]: resample(y, n_samples=5, replace=False, stratify=y, random_state=10)
Out[4]: [1, 1, 1, 1, 0]
In [5]: resample(y, n_samples=5, replace=False, random_state=42)
Out[5]: [1, 0, 1, 0, 1]
In [6]: resample(y, n_samples=5, replace=False, stratify=y, random_state=42)
Out[6]: [1, 0, 1, 1, 1]
In [7]: resample(y, n_samples=5, replace=False, random_state=0)
Out[7]: [1, 1, 0, 1, 1]
In [8]: resample(y, n_samples=5, replace=False, stratify=y, random_state=0)
Out[8]: [1, 1, 1, 0, 1]