If a team is winning by a cricket score in football, is stoppage time always played? Or can a referee put an end to it early?
If the laws are followed strictly, then yes. Law 7.3 "Allowance for time lost" specifies that the referee allows for all playing time lost, with no provision to reduce it.
That said, at more recreational levels of the game, it's not uncommon for the referee to be somewhat lax in their assessment of how much time was lost if one team is winning by a lot.