A rolling window has a fixed length. An expanding window starts at the first row and grows, so each value covers everything to date:
lake["revenue"].expanding().mean() # average day so far
lake["revenue"].cummax() # best day so far
cumsum(), cummax() and cummin() are shortcuts for the common expanding sums and extremes. Comparing a value with the running maximum finds record days: lake[lake["revenue"] == lake["revenue"].cummax()].
ewm(span=7).mean() is an exponentially weighted average: every past day counts, but recent days count more. It reacts faster than a rolling mean and has no empty first rows.
Running maximum and rolling maximum answer different questions: "best day ever, as of today" versus "best day in the last four weeks".